Загрузка LiveCD ISO напрямую через Grub

Обычно при каких-то проблемах с загрузкой основной установленной на жесткий диск системы большинство мануалов советует загрузиться с LiveCD Ubuntu или любого дистрибутива и дальше творить некие действия дабы починить основную систему. Вопрос что под рукой может не быть диска (или флэшки) с LiveCD… Для такого случая очень просто перестраховаться и создать запись в Grub для возможности загрузки в сохраненный на жестком диске ISO-файла.

Как создать возможность загрузки LiveCD с ISO-файла через Grub?

На самом деле это очень просто — Grub2 с самого начала научился понимать формат ISO9660 и может загружать ОС прямо из ISO-образа расположенного на жестком диске!

В конце файла /etc/grub.d/40_custom необходимо создать следующую запись (предварительно сложив нужные iso-файлы в любую директорию — у нас это будет /home/user/ куда уже скопированы два файла с нужными мне дистрибутивами):

menuentry "Linux Deepin Live" {   set root=(hd05)   loopback loop /home/user/deepin.iso   linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/home/user/deepin.iso noeject noprompt --   initrd (loop)/casper/initrd.lz} menuentry "ElementaryOS Live" {   set root=(hd05)   loopback loop /home/user/elementaryos.iso   linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/home/user/elementaryos.iso noeject noprompt --   initrd (loop)/casper/initrd.lz} menuentry "Zorin OS Live" {    set root=(hd05)    loopback loop /home/user/zorin-os.iso    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/home/user/zorin-os.iso noeject noprompt --    initrd (loop)/casper/initrd.lz}

! hd05 необходимо заменить на правильный номер раздела на вашей машине. Указывайте полный путь к образу относительно корня раздела.

!! В последнем примере можно заметить что расширение vmlinuz.efi. Если не работает /casper/vmlinuz значит необходимо прописывать с расширением файла .efi.

В разделе «loopback loop» создается loop-устройство к которому монтируется файл нашего iso. А две следующие строчки указывают местонахождение ядра и образа initrd относительно корня loop устройства (путь к файлам ядра и initrd внутри ISO-образа).

После сохранения файла необходимо обновить grub командой sudo grub-mkconfig -o /boot/grub/grub.cfg.

После перезагрузки в меню можно будет выбрать один из двух пунктов. У меня это Linux Deepin Live и ElementaryOS Live при выборе любого из которых я загружаюсь в чистую Live-систему Deepin или ElementaryOS соответственно.

Это удобный способ попробовать какой-то дистрибутив без установки и даже записи его на диск или флэшку. Правда некоторые дистрибутивы «не умеют» загружаться таким способов но с большинством популярных сборок должно сработать.

ПС для параноиков: Есть мнение что оставлять эти пункты в меню загрузки не особо безопасно ведь с liveCD очень легко получить права root после чего делать с основной системой и данными все что угодно. Однако если злоумышленнику нужно будет это сделать с вашей системой то он может просто взять диск и изнасиловать вашу систему прямо с него. Так что про некую опасность/безопасность — весьма сомнительно…


Оригинал статьи http://pingvinoff.net/livecd-iso-cherez-grub.html

0 комментариев

Оставить комментарий