Загрузка живого ОС прямо из ОЗУ? - proUbuntu
1 голос
/

Я часто сталкиваюсь с ситуациями, когда мне нужно запустить живой дистрибутив, чтобы что-то сделать (например, изменить размер основного загрузочного раздела).Обычный процесс для этого - найти USB-накопитель, который я не использую для чего-то другого, создать из него живой USB-накопитель и загрузить его.Проблема часто в "найти USB, который я не использую для чего-то другого".Я недавно подумал, и мне было интересно, если есть способ загрузить живой дистрибутив без USB.Я знаю, что вы можете использовать опцию toram kernal, чтобы работать полностью в оперативной памяти.Это заставляет меня задуматься о том, можно ли использовать магию GRUB для загрузки системы непосредственно из ОЗУ без необходимости использования USB.

1 Ответ

1 голос
/

В моем файле /etc/grub.d/40_custom есть пункт меню, который я активирую через sudo update-grub для загрузки в iso-файл Lubuntu.

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Lubuntu 18.04.1 Desktop iso" {
            set isofile="/lubuntu-18.04.1-desktop-amd64.iso"
            loopback loop (hd0,1)$isofile
            linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
            initrd (loop)/casper/initrd.lz
}

Это работает, как и ожидалось, но даже когда я помещаю его в оперативную памятьс параметром загрузки toram (в конце строки 'linux') я не смогу размонтировать раздел, в котором хранится iso-файл, смонтированный в /isodevice.

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

  • Возможно сохранить ISO-файл в отдельном разделе, который не используется установленной операционной системой .Таким образом, вы можете использовать работающую систему, загруженную из iso-файла, для редактирования разделов вашей установленной операционной системы.

    Поэтому измените (hd0,1) в

                loopback loop (hd0,1)$isofile
    

    , чтобы указатьэтот отдельный раздел.

  • Если во внутреннем диске есть раздел подкачки, и вы хотите отредактировать его, вы должны заменить его

    sudo swapoff /dev/sdxn
    

где x - буква устройства, а n - номер раздела

...