LINUX.ORG.RU

Смещение по секторам зашифрованного раздела

 , , ,


0

2

Доброго времени, беда следующая Мой жесткий диск имеет следующую структуру:

- /dev/sda1, 100M, boot-раздел

- /dev/sda2, ~250G, зашифрованный LUKSом раздел

Поставив второй дистрибутив линукса, я понял, что 100M на boot-разделе не хватит и решил его увеличить. С горем пополам я отпилил кусок в 4G от большого шифрованного булыжника с помощью fdisk. Но беда в том, что эти 4G находится в конце диска и припилить их к boot-разделу не представляется мне возможным.

Вопрос: каким образом пододвинуть эту дуру - /dev/sda2 на 4 гигабайта вправо? Наверняка же возможно... (может каким-нибудь побайтовым копированием секторов)?



Последнее исправление: comm1x (всего исправлений: 1)

С горем пополам я отпилил кусок в 4G от большого шифрованного булыжника с помощью fdisk.

resizexxxfs перед этим, надеюсь, сделали?

Вопрос: каким образом пододвинуть эту дуру - /dev/sda2 на 4 гигабайта вправо?

parted и основанные на libparted программы, вроде, умеют двигать произвольные разделы.

AITap ★★★★★
()

А зачем его двигать? Пусть будет boot раздел в конце. А эти 100 Мбайт пусть просто разделом без особой функции. Вроде, сейчас нет органичений на размещение от начала диска boot-раздела.

mky ★★★★★
()
Ответ на: комментарий от mky

gparted

Gparted отказывается двигать

resizexxxfs перед этим, надеюсь, сделали?

Нет, не сделал. Отпилил, запустил ОС - работает. Ну, думаю, значит все правильно сделал. Нет?

Пусть будет boot раздел в конце.

Попробую parted. Оставлю этот вариант, если совсем ничего не получится.

comm1x
() автор топика
Ответ на: комментарий от Kadi

Самые обычные, в нормальном режиме я думаю им и хватит 100 мб. Но у меня сейчас там небольшая кашица из ядер, рам-дисков и т.д. Решил увеличить, думал все просто, а не тут-то было.. ну а дальше уже спортивный интерес так сказать. Дело принципа.

comm1x
() автор топика

После того как урезал 4Gb, проверил с помощью fsck.ext4 все разделы. Программа отобразила, что все корректно, достаточно ли этого, чтобы понять, что я урезал диск без потерь?

С помощью parted не получается переместить в связи с тем, что программа не может установить файловую систему диска. И вправду, какая может быть ФС, если ее там нет. Пробовал:

parted /dev/sda2

parted /dev/mapper/crypted

parted /dev/mapper/local-{root, home, swap, btck} вообще глупо перемещать. Ну они и так не перемещаются, т.к. занимают 100% своего допустимого дискового пространства.

Вопрос все тот же: как переместить раздел по секторам вправо?

comm1x
() автор топика
Ответ на: комментарий от comm1x

Что-то мне склероз подсказывает, что gparted - это всего лишь GNOME-интерфейс к parted. Так что неудивительно, что parted тоже отказался двигать, когда gparted не справился.

Cyril ★★
()
Ответ на: комментарий от comm1x

Нет, не сделал. Отпилил, запустил ОС - работает. Ну, думаю, значит все правильно сделал. Нет?

Бэкапь все оставшиеся данные с раздела, запускай fsck. А лучше сразу mkfs.

shahid ★★★★★
()
Ответ на: комментарий от comm1x

Вы ответили на мой комментарий, но не на мой вопрос. Повторю ещё раз, зачем вам двигать 4 Гб в начало диска?

Проверка файловой системы шла с ключиком "-f" ? Для уверености можно посмотреть вывод «tune2fs -l /dev/...» и убедится, что «Block count» совпадает с размером дискового устройства, на котором находится ФС.

mky ★★★★★
()
Ответ на: комментарий от mky

Зачем двигать 246 Гб в конец диска?

Все аккуратно упорядочено, красиво. На диске порядок. Да, я понимаю, что проблемы можно избежать, переместив boot-раздел в конец диска, но я не хочу избегать. Есть проблема и ее хочется решить, именно решить, а не убегать от нее, или придумывать костыли, хотя в данном случае это очень достойные и качественные костыли.. но костыли. Хотя я уже и разобрался с операционками, и они у меня теперь хорошо живут и на 100MB бут-раздела, вопрос все равно остается для меня открытым.

В общем, ответ такой: Зачем двигать 246 Гб в конец диска? Спортивный интерес.

comm1x
() автор топика
Ответ на: комментарий от AITap

parted и основанные на libparted программы, вроде, умеют двигать произвольные разделы.

parted откажется двигать раздел, если исходный и конечный разделы пересекаются.

i-rinat ★★★★★
()
Ответ на: комментарий от AITap

Но в таком случае таблицу разделов можно считать сломанной, разве нет?

Не совсем. Под конечным разделом я имел в виду конечное положение раздела.

Допустим, на диске один раздел в самом начале, размером в 10 гигов. Если parted'у сказать: «подвинь мне раздел на 12 гигов в сторону конца диска», он это сделает, так как [0, 10] не пересекается с [12, 22]. А если попросить подвинуть на 9, откажется, так как [0, 10] пересекается с [9, 19].

Gparted подвинет.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

и тем не менее gparted не двигает шифррванные разделы , т.к. не может определить его файловую систему

comm1x
() автор топика
Ответ на: комментарий от comm1x

gparted не двигает и lvm2, хотя отлично определяет его. Без изменения размера двигать относительно безопасно, но, как я понял из отрывочных сведений архивов рассылки, это не реализовано, потому что «двигать разделы — это не lvm-way».

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Если я не ошибаюсь, это потому что разделы lvm допускают фрагментированность. Т.е. нет как такового одного раздела от сектора и до сектора. Есть от сектора до сектора PV, в котором каша из LG, LV. В таком случае логично двигать весь PV. Но не зная файловой системы (а мы ее и не знаем) пододвинуть просто так не получится. Есть только один выход - это копирование (по частям (побайтное), или полное дублирование) с дальнейшим удалением очищением исходных секторов.

Вроде все просто (как мне кажется), но странно, что всякие parted не могут такое реализовать. Может не все так просто...

comm1x
() автор топика
Ответ на: комментарий от comm1x

В таком случае логично двигать весь PV.

Ну да, я говорил именно о PV. И его теоретически можно двигать куда угодно, там нет привязки к абсолютной позиции на диске. Но Gparted всё равно отказывается. А внутри LVM2 вообще вживую можно разделы двигать.

Была у меня мысль поправить код Gparted, но я не осилил.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Возрадуйся

Была у меня мысль поправить код Gparted, но я не осилил.

А сейчас стало легче, они добавили детектирование LUKS и LVM2 PV. Решение — заставить GParted принять LUKS-раздел за раздел с exfat. Его можно двигать и копировать. Бонус: возможность двигать PV от LVM2.

diff -ur gparted-0.12.1/src/GParted_Core.cc gparted-0.12.1-hack/src/GParted_Core.cc
--- gparted-0.12.1/src/GParted_Core.cc	2012-03-28 01:03:06.000000000 +0400
+++ gparted-0.12.1-hack/src/GParted_Core.cc	2012-10-11 20:27:48.799403558 +0400
@@ -1132,7 +1132,7 @@
 			temp = _( "Linux Unified Key Setup encryption is not yet supported." ) ;
 			temp += "\n" ;
 			partition_temp .messages .push_back( temp ) ;
-			return GParted::FS_LUKS ;
+			return GParted::FS_EXFAT ;
 		}
 	}
 
diff -ur gparted-0.12.1/src/lvm2_pv.cc gparted-0.12.1-hack/src/lvm2_pv.cc
--- gparted-0.12.1/src/lvm2_pv.cc	2012-02-24 02:02:15.000000000 +0400
+++ gparted-0.12.1-hack/src/lvm2_pv.cc	2012-10-11 20:01:23.699355836 +0400
@@ -32,6 +32,7 @@
 	{
 		fs .read = GParted::FS::EXTERNAL ;
 	}
+	fs .move = GParted::FS::GPARTED ;
 
 	return fs ;
 }
i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

В воскресенье вечером проверю и отпишу, ща разбираюсь с загрузкой операционки. Какой-то баг с plymouth.

comm1x
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.