Pull to refresh

Установка Linux из виртуальной машины на съемный диск

Reading time2 min
Views3.9K
Прочитал статью Оживление легенды: ставим ОС на Libretto 50 CT
в которой описывается способ №3 установки ОС Linux на HDD из виртуальной машины. И решил предложить другой вариант, как мне кажется более правильный, чем тот, который изложен в статье. Во всяком случае автору статьи, smashrod, советую попробовать. Может быть этот вариант окажется рабочим.

Для решения задачи нам понадобится:
1.работающий компьютер с ОС Linux
2.установленный в этой ОС VMware Server
3.съемный диск, подключенный к рабочему компьютеру

Что нужно сделать:

1.Создать виртуальную машину в VMware по конфигурации приближенную к той, в которой будет работать реальная система. Винт нужно создать IDE, необходимого размера, не резиновый, цельный.
2.Разбить виртуальный hdd на разделы, установить систему.
3.Далее нам понадобятся сведения о конфигурации винта в виртуальной системе. Для этого нужно выполнить команду в консоли: sudo fdisk -ul /dev/sda, где /dev/sda имя винта в системе. Важно заметить, что ключ «u» следует указывать обязательно, он переводит единицы измерения границ разделов из цилиндров в секторы.

Результат выполнения команды будет примерно таким:

Диск /dev/sda: 74.3 ГБ, 74355769344 байт
255 heads, 63 sectors/track, 9039 cylinders, всего 145226112 секторов
Units = секторы of 1 * 512 = 512 bytes
Disk identifier: 0x23e223e1

Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 63 530144 265041 82 Linux своп / Solaris
/dev/sda2 * 530145 16996769 8233312+ 83 Linux
/dev/sda3 16996770 145211534 64107382+ 83 Linux

Более всего нас интересует третья колонка в таблице разделов — смещение начала раздела (в секторах). На ее основе вычислим смещение в байтах. Сделаем это для корневого раздела /dev/sda2: смещение начала = 530145 секторов, размер сектора = 512 байт. Считаем:

echo $((530145*512))
271434240
где: 271434240 — это и есть смещение начала раздела /dev/sda2 в байтах

4.Затем корректно завершаем работу виртуальной машины, создаем в ее каталоге новый подкаталог vmroot и монтируем в него виртуальный винт:
mount -t ТИП -o ro,loop,offset=271434240 hda.img ./vmroot
где: ТИП — тип файловой системы; 271434240 — смещение начала раздела (см. выше)
5.Подключаем съемный hdd к реальной системе, разбиваем его на разделы, такие же как и на виртуальном и в том же порядке, форматируем, затем примонтируем этот hdd в систему.
6.Переходим в подкаталог vmroot и копируем:
cp -axv ./bin ./home ./sbin ./sys ./usr ./boot ./etc ./lib ./opt ./root ./srv ./var /dev/съемный диск
7.Заходим в новую систему:
chroot /mnt/съемный диск
8.Правим /etc/lilo.conf и /etc/fstab
9.Далее нужно восстановить загрузчик lilo
/sbin/lilo
lilo -r /mnt/hdd

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

P. S. За этот способ нужно благодарить snobs-diary
Tags:
Hubs:
+19
Comments15

Articles