Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Последняя версия Следующая версия справа и слева
proxmox:proxmox-to-vdi [2020/05/27 06:25]
admin [Подготовка машины]
proxmox:proxmox-to-vdi [2020/05/27 06:48]
admin [Восстановление grub c Live CD]
Строка 61: Строка 61:
 Наконец, надо превратить образ диска в виртуалбоксовский - для использования в вагранте. Наконец, надо превратить образ диска в виртуалбоксовский - для использования в вагранте.
  
-Загрузившись с Live CD, через parted нужно экспортировать разделы в img-файл: нажать на шестеренки, затем Create Partition Image.+Загрузившись с Live CD, через parted я экспортировал разделы в img-файл: нажал на шестеренки, затем Create Partition Image.
  
 {{:proxmox:0040.png|}} {{:proxmox:0040.png|}}
  
-Бут-партицию я также сжал с 512 до 256 Мб. Получилось два файла:+Бут-партицию я также сжал с 512 до 256 Мб. Получилось два файла, которые я записал на отдельный диск, и затем скачал на свою систему:
  
   * ''boot.img'' - загрузочный раздел   * ''boot.img'' - загрузочный раздел
   * ''base.img'' - система   * ''base.img'' - система
  
-Затем отвел отвел 40 Гб под будущий образ:+Дальнейшие действия я проводил в своей ОС Ubuntu. 
 + 
 +Я отвел 40 Гб под будущий образ:
  
 <code bash> <code bash>
Строка 76: Строка 78:
 </code> </code>
  
-Через fdisk размечаем разделы:+Через fdisk разметил разделы:
  
 <code bash> <code bash>
Строка 99: Строка 101:
 </code> </code>
  
-Подмонтируем:+Подмонтировал:
  
 <code bash> <code bash>
Строка 107: Строка 109:
 </code> </code>
  
-потом скопируем разделы:+потом скопировал разделы:
  
 <code bash> <code bash>
Строка 114: Строка 116:
 </code> </code>
  
-После этого нужно восстановить grub.+После этого нужно восстановить grub.  
 + 
 +==== Восстановление grub на своей ОС (не удачно) ==== 
 + 
 +Сначала я попробовал это сделать на своей ОС, но конечный вариант, который сработал, я сделал внутри VBox, загрузившись с Live CD (описано в другом пункте, чуть ниже). 
 + 
 +Подмонтировал (если уже смонтировано, то не надо): 
 + 
 +<code bash> 
 +losetup --partscan dest.img 
 +# получилось /dev/loop6 
 +kpartx -a /dev/loop6 
 +</code> 
 + 
 +Затем
  
 <code bash> <code bash>
Строка 134: Строка 150:
 losetup --detach /dev/loop6 losetup --detach /dev/loop6
 </code> </code>
 +
 +После загрузки с такого образа (''VDI''), система проваливается в загрузчик grub: ''grub >''. Я думаю, такое происходило из-за отсутствия файла ''grub.conf'', который я удалил в процессе эксперимента или потому что диск sda3 после переразбиения стал sda2.
 +
 +==== Восстановление grub c Live CD ====
 +
 +У меня был образ диска (''VBoxManage convertdd dest.img dest.vdi''), но система с него не грузилась. Тогда я загрузился с LiveCD внутри VBox и с этим диском произвел такие манипуляции:
 +
 +<code bash>
 +mount /dev/sda2 /mnt
 +mount /dev/sda1 /mnt/boot
 +mount --bind /dev /mnt/dev; mount --bind /sys /mnt/sys; mount --bind /proc /mnt/proc
 +chroot /mnt /bin/bash
 +</code>
 +
 +Затем ''grub-install --recheck /dev/sda; resize2fs /dev/sda1''. Установщик вывел предупреждение, что нет ''/dev/sda3'' (там раньше была система, теперь это ''/dev/sda2''). При перезагрузке выводится экран grub:
 +
 +<code>
 +(Добро пожаловать в Граб версии 0.97 ... нажмите Tab для списка команд)
 +grub >
 +</code>
 +
 +Нажимая cd / + Tab я понял, что там каталог ''/grub'' и файлы ''/initramfs-...'', ''vmlinuz-2.6...'' - то есть ''/boot'', а корневой файловой системы нет.
 +
 +Тогда я еще раз загрузился с LiveCD и отредактировал файл ''/etc/mtab'', в котором заменил монтирование корня ''/dev/sda3'' на ''/dev/sda2'', затем снова ''grub-install --recheck /dev/sda; resize2fs /dev/sda1'', и эта команда больше не выводила предупреждение.
 +
 +Система по-прежнему не загружалась. Наконец, я понял в чем дело, и создал конфигурационный файл ''/boot/grub/grub.conf'', поместив в него прежнее содержимое, которое ранее удалил в экспериментах (удалял полностью ''/grub'').
    
-Наконец, я переконвертировал образ в VDI и система загрузилась внутри виртуалбокса:+Ура! Система загрузилась внутри виртуалбокса:
  
 {{:proxmox:pastedimage6.png|}} {{:proxmox:pastedimage6.png|}}
- 
  
 ===== Ссылки ===== ===== Ссылки =====
Печать/экспорт