Загрузка живого ОС прямо из ОЗУ?

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

1
задан 27 September 2019 в 05:13

1 ответ

У меня есть menuentry в моем /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
}

Это работает как ожидалось, но даже когда я продвинул его в RAM с параметром загрузки toram (в конце строки 'Linux'), это не позволило бы мне размонтировать раздел, где файл ISO хранится, монтируется в /isodevice.

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

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

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

                loopback loop (hd0,1)$isofile
    

    указать на тот отдельный раздел.

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

    sudo swapoff /dev/sdxn
    

где x является буквой устройства, и n является числом раздела

1
ответ дан 23 October 2019 в 10:19

Другие вопросы по тегам:

Похожие вопросы: