LINUX.ORG.RU

Основные разделы в расширенный


0

0

На жёстком диске есть четыре раздела: корень, хомяк, бут и своп. А получить я хочу два расширенных раздела: один с уже перечисленными и второй с корнем, бутом и свопом для второго дистра. Как сие осуществить без потери текущей информации?

Хотя нет, наверное (или скорее всего), я не прав. Своп и бут надо задействовать и для второго дистра, а текущие корень и хомяк перенести в расширенный.
То есть, получить что-то вроде такого:
-/boot
-swap
-extended:
-/home
-/
-/ (второго дистра)

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

Можно загрузившись с внешнего носителя зафиксировать числа границ разделов, удалить текущие и создать новые как надо по этим границам. Когда то очень давно я так делал, это возможно потому что сущности «разметка диска» и «разметка ФС» никак не зависят друг от друга.

Но только помни, админы делятся на тех кто делает бекапы и тех кто уволен.

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

А прокатит ли такой вариант: загружаюсь с LiveCD, копирую инфу с корня и хомяка, сношу их, создаю на их месте расширенный раздел, там создаю два корня и хомяк, переношу на них скопированную информацию, а после меняю информацию в /etc/fstab и /boot/grub/menu.lst для корректного запуска?

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

Отлично. Осталось только узнать: надо копировать только инфу с корня и хомяка или целиком эти разделы?

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

> Если копируешь систему то понадобятся ключи cp -a -x
То есть, что-то вроде такого:
cp -ax / /media/exthdd/linux/root/
cp -ax /home /media/exthdd/linux/home/
а потом обратно:
cp -ax /media/exthdd/linux/root/ /
cp -ax /media/exthdd/linux/home/ /home
с заменой «/» и «/home» на путь новых созданных разделов.
Так?

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

То есть сначала
cp -ax / /media/exthdd/linux/root/
cp -ax /home /media/exthdd/linux/home/
, а обратно
cp -ax /media/exthdd/linux/root/ /*
cp -ax /media/exthdd/linux/home/ /home/*

Или как?
Туплю что-то…

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

Так:

cp -ax /media/exthdd/linux/root/* /

Это просто я заглянул и на ходу толком не пояснил.

Логика в том, что без звёздочки он в целевой каталог положит заданный аргумент, то есть там появится root/ со всеми подкаталогами.

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

Теперь ясно. А зачем нужен ключ -x?
И как сделать бэкап на всякий случай? dd if=/dev/sda of=/media/exthdd/linux/backup и для восстановления dd if=/media/exthdd/linux/backup of=/dev/sda ?

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

не буду оригинальным: забей на «основные» и «расширенные» разделы и ставь GPT вместо MBR. На GPT все разделы — основные, и их количество не ограничено, отсутствует выравнивание по границам «цилиндров» и ещё куча всяких плюшек.

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

А как заменить MBR на GPT без потери информации?
Я бы с радостью, просто не осилил установку арча на диск с не-MBR…

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

в http://sourceforge.net/projects/gptfdisk вроде есть такая фича для конвертации MBR в GPT, но я бы такое ответственное дело автоматике не доверял. Лучше по-старинке, как описано выше — либо записываем на бумажку границы разделов, стираем MBR, создаём GPT и потом в нём разделы в соответствии с бумажкой, либо backup-restore.

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

-x что бы пропускать смонтированные файловые системы. При обратном копировании в общем избыточно, но и помехи не сделает.

А бекап нужен для того способа который я описал выше, с удалением и созданием разделов заново по живому. В данном случае это копирование само себе бекап.

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

> либо записываем на бумажку границы разделов, стираем MBR, создаём GPT и потом в нём разделы в соответствии с бумажкой
А можно поподробнее?
И будет ли с ним GRUB1 работать?

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

> -x что бы пропускать смонтированные файловые системы. При обратном копировании в общем избыточно, но и помехи не сделает
О, спасибо за пояснение, а то описание ключей на английском, не совсем понятно.

В данном случае это копирование само себе бекап

То есть, если что-то пойдёт не так, то из этого можно будет восстановить систему? Это радует.

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

>>записываем на бумажку границы разделов, стираем MBR, создаём GPT и потом в нём разделы в соответствии с бумажкой

А можно поподробнее?


это тоже самое что и http://www.linux.org.ru/jump-message.jsp?msgid=4883632&cid=4883689

будет ли с ним GRUB1 работать?


нет, из Linux-загрузчиков с GPT работает пока только GRUB2. Но всё прогрессивное человечество и так на него давно перешло.

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

> То есть, если что-то пойдёт не так, то из этого можно будет восстановить систему?

Насколько я понимаю, копирование будет идти на независимый носитель? Тогда не так пойти ничего не сможет. Ну и кроме того, ценность представляют данные а не система.

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

> это тоже самое что и http://www.linux.org.ru/jump-message.jsp?msgid=4883632&cid=4883689
Это понятно, я просто не знаю, какие комманды набирать.

нет, из Linux-загрузчиков с GPT работает пока только GRUB2

Чёрт.

Но всё прогрессивное человечество и так на него давно перешло

В арче не перешли. Но есть в репе и отдельная инструкция в вики. Придётся вручную всё делать…

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

> Насколько я понимаю, копирование будет идти на независимый носитель
Да.

Тогда не так пойти ничего не сможет

Что ж, это хорошо.

Ну и кроме того, ценность представляют данные а не система

Переустанавливать лень. Желательно, чтобы система восстанавливалась копипастой.

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

> Это понятно, я просто не знаю, какие комманды набирать.

набираешь

# parted /dev/sda
(parted) unit s
(parted) print
он тебе выдаёт все начальные и конечные сектора всех разделов и размеры. Потом, когда при новой разметке создашь GPT (в parted это делается «mklabel gpt») и начнёшь создавать разделы (mkpart), но тебя собственно эти номера и размеры спросят.

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

>Потом, когда при новой разметке создашь GPT (в parted это делается «mklabel gpt») и начнёшь создавать разделы (mkpart), но тебя собственно эти номера и размеры спросят.

Интересно, при этом никаких потерь данных не будет? А тип ФС надо будет задавать?

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

> Интересно, при этом никаких потерь данных не будет? А тип ФС надо будет задавать?

Если с цифрами не накосячить то усё будет в порядке. Ещё существует потенциальная проблема что не хватит свободных секторов для новой таблицы, но это очень маловероятно потому что при MBR разбиении всё выравнивается по границам цилиндров, и неиспользованных секторов бывает завались, ещё и лишние останутся.

А тип ФС надо будет задавать?

тип FS как правило определяется автоматически, но в любом случае Linux тип FS в таблице разделов игнорирует, этот тип явно указывается в /etc/fstab. А вот тип раздела (например LVM) можно и указать.

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

> Ещё существует потенциальная проблема что не хватит свободных секторов для новой таблицы
А как быть уверенным, что у меня нет этой проблемы?
За инструкцию по созданию GPT спасибо.

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

Просто у меня grub-install от второго граба не срабатывает и выдаёт ошибку
/sbin/grub-setup: warn: This msdos-style partition label has no post-MBR gap; embedding won't be possible!.
/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and its use is discouraged..
/sbin/grub-setup: error: if you really want blocklists, use --force.
И срабатывает только с ключом --force.
Вроде как жалуется на место в MBR.

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

Если это важно, то

kevindetry@KDsLT> sudo fdisk -lu /dev/sda                                                                                                                                                                ~

Диск /dev/sda: 320.1 ГБ, 320072933376 байт
255 heads, 63 sectors/track, 38913 cylinders, всего 625142448 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00052fe4

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *           1      208844      104422   83  Linux
/dev/sda2          208845     4401809     2096482+  82  Linux своп / Solaris
/dev/sda3         4401810   209214494   102406342+  83  Linux
/dev/sda4       209214495   625137344   207961425   83  Linux

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

Арчевским установщиком.
А как переместить начало немного? И сколько для GPT оставить?

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

> А как быть уверенным, что у меня нет этой проблемы?

для GPT надо первые 34 сектора диска (номера с 0 до 33) и копия в последние 33 сектора диска. При разбиении диска таблицей MBR как правило первый раздел начинается с сектора 63ю

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

> При разбиении диска таблицей MBR как правило первый раздел начинается с сектора 63ю
У меня, судя по http://www.linux.org.ru/jump-message.jsp?msgid=4883632&cid=4885496 первый раздел начинается с сектора 1. Как переместить начало и на сколько?

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

> Просто у меня grub-install от второго граба не срабатывает и выдаёт ошибку

для установки GRUB2 на GPT надо для stage2 создать отдельный раздел размером в 62 сектора типа ef02 (в parted он зазывается «bios_grub»). При использовании MBR эта stage2 размещается в «свободных» секторах с 1 по 62, и потенциально может быть затёрт (и с успехом затирается виндовым загрузчиком. И так как это место «ничейное» то виндовый загрузчик в общем-то затирая его никакого криминала не делает).

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

никак. На рабочей FS можно премещать верхний «конец». Чтобы переместить нижний «конец» надо пересоздавать FS заново в новом месте.

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

> Как переместить начало и на сколько?

GPT займёт сектора 0-33, для stage2 надо создать раздел размером 62 сектора. Так что первый «полезный» раздел на который можно поместить FS (он будет называться /dev/sda2) может начитаться с сектора 96.

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

> для установки GRUB2 на GPT надо для stage2 создать отдельный раздел размером в 62 сектора типа ef02 (в parted он зазывается «bios_grub»)

Так. Значит мне нужно снести /boot, выписать границы разделов на бумажку, заменить MBR на GPT, создать отдельный раздел размером в 62 сектора типа ef02, затем создать /boot с с загрузочным флагом, отформатировать его в ext2, запуститься с LiveUSB, зачрутиться в арч, проделать mkinitcpio и grub-install, и, наконец, загрузиться в рабочую систему. Я ничего не упустил?

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

Википедия уверяет, что винда поддерживает GPT только в EFI-шной клиентской версии.
И хорошо, теперь, если мне кто посоветует поставить винду, попрошу этого человека описать установку винды на диск с GPT с условием, что на компе обычный BIOS. Или на внешний USB'шный винт. Ну, а так как обе эти процедуры невозможны, то я буду иметь полное право послать этого советчика. Профит же! =)

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

> Так. Значит мне нужно снести /boot, выписать границы разделов на бумажку, заменить MBR на GPT, создать отдельный раздел размером в 62 сектора типа ef02, затем создать /boot с с загрузочным флагом, отформатировать его в ext2, запуститься с LiveUSB, зачрутиться в арч, проделать mkinitcpio и grub-install, и, наконец, загрузиться в рабочую систему. Я ничего не упустил?

именно так. Только «загрузочный флаг» не обязателен. И grub2 понимает и ext4 (я у себя поставил ext4 без журнала, но это по большому счёту не важно).

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

> Кстати windows же не поддерживает таблицу разделов GPT?)

вынь7 понимает GPT и видит разделы, но «обычная» i386 или amd64 версия грузиться с GPT не может, только IA64 версия.

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

> Только «загрузочный флаг» не обязателен
А как же без него?
И да, нужно ли мне для свопа указывать особый тип (0657FD6D-A4AB-43C4-84E5-0933C84B4F4F)?

И grub2 понимает и ext4 (я у себя поставил ext4 без журнала, но это по большому счёту не важно)

А разве есть смысл для бута использовать ext4 (даже без журналирования)? ext2, как я слышал, больше для бута подходит…

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

Если еще никто не рекомендовал, то это сделаю я. Если есть место для бэкапа, то лучше перевести не на GPT, а на LVM. А там можно делать уже что угодно (если XFS и JFS не использовать).
Одна из плюшек LVM, которую ощутил, когда системный диск начал сыпаться - чтобы переехать на другой диск надо вбить всего пару команд на включение нового диска в группу, а потом просто pvmove - и данные сами перетекут на новый диск.

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

> Если есть место для бэкапа, то лучше перевести не на GPT, а на LVM
Место вроде есть, но слишком уж это долго и трудно…
И как-то я не совсем понял с этим LVM — это просто раздел на диске или замена MBR? И как его вообще создавать?

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

>> Только «загрузочный флаг» не обязателен

А как же без него?

grub-у (как и lilo и любому другому linux-загрузчику) всё равно какие там флаги. Если сказано грузиться с этого раздела — значит будет грузиться с него. Это только для виндового загрузчика надо.

И да, нужно ли мне для свопа указывать особый тип (0657FD6D-A4AB-43C4-84E5-0933C84B4F4F)?

тоже по барабану. Типы монтируемых FS (а swap — это тоже монтируемая FS) указываются в /etc/fstab и только в нём

А разве есть смысл для бута использовать ext4 (даже без журналирования)? ext2, как я слышал, больше для бута подходит…

для /boot подходит любая нежурналируемая FS при условии что она по умолчанию всё время примоунчена как read-only. Говорят что ext4 в нежурналирумом варианте лучше чем ext2(=ext3 в нежурналируемом варианте). Здесь это роли вообще почти никакой не играет, но ext4 — это более по-пацански.

pupok ★★
()
Ответ на: комментарий от some-body

> лучше перевести не на GPT, а на LVM

GPT — не вместо LVM в вместо MBR. Поверх GPT можно и нужно настраивать всё что ты там обычно настраиваешь: LVM, RAID, LUKS...

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

> тоже по барабану. Типы монтируемых FS (а swap — это тоже монтируемая FS) указываются в /etc/fstab и только в нём
Спасибо, учту.

Здесь это роли вообще почти никакой не играет, но ext4 — это более по-пацански

Хорошо, а как создать нежурналируемую ext4?

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

Спасибо.

*Ушёл тестировать на флешке, а после на самом харде*

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