我计划重新安装 Ubuntu,并希望将一个小型可启动恢复系统(如 SystemRescueCD)刻录到硬盘驱动器上的一个分区,但仍能在同一驱动器上安装 Ubuntu,并能启动 Ubuntu 和恢复分区。这可能吗?如果可以,我该怎么做?编辑:我当前的 Ubuntu 版本是 19.04。
答案1
要从分区启动 ISO 映像:
(hd0,6)只是一个例子,您必须根据您拥有的分区进行更改。
获取 ISO(呃)
选择要从中启动 ISO 映像的分区。它不需要是特殊分区,可以是任何格式,或者至少是 FAT、NTFS、EXT*。(我没有尝试过其他格式)(如果您想要持久性,它必须是 FAT)。它可以包含其他数据,不会有区别。记下它是哪个分区,即
/dev/sda6
将 ISO 文件(无需提取)复制到您的分区。为了便于组织,您可以
/isoboot/
在分区的根目录中创建一个文件夹,然后创建一个名称可识别系统的子文件夹,并将 ISO 粘贴到那里。挂载 ISO。最简单的方法是使用
"Open with disk image mounter"
文件浏览器上下文菜单中的选项,右键单击文件。安装后,转到目录
/boot/grub/
并复制文件grub.cfg
。 将其粘贴到里面/isoboot/<your_system_name>
。在你的 Ubuntu 中,使用 sudo 权限打开文件
/etc/grub.d/40_custom
。添加菜单项:menuentry 'Your name of the ISO system' { set root='hd0,6' # this mean /dev/sda6 configfile /isoboot/<your_system_name>/grub.cfg }
跑步
update-grub
。
每个 ISO 上的情况都不同,grub 配置文件可能有不同的名称
配置 ISO grub.cfg 文件,系统救援 CD
使用您喜欢的文本编辑器打开该文件并进行以下更改:
在文件顶部添加以下行
set isofile=/isoboot/systemrescuecd-6.0.3.iso loopback loop $isofile probe -u $root --set=rootuuid set imgdevpath="/dev/disk/by-uuid/$rootuuid"
在菜单项中添加文本大胆的
menuentry "Boot SystemRescueCd using default options" { set gfxpayload=keep linux (loop)/sysresccd/boot/x86_64/vmlinuz archisobasedir=sysresccd archisolabel=SYSRCD603 img_loop=$isofile img_dev=$imgdevpath initrd (loop)/sysresccd/boot/intel_ucode.img (loop)/sysresccd/boot/amd_ucode.img (loop)/sysresccd/boot/x86_64/sysresccd.img } menuentry "Boot SystemRescueCd and copy system to RAM" { set gfxpayload=keep linux (loop)/sysresccd/boot/x86_64/vmlinuz archisobasedir=sysresccd archisolabel=SYSRCD603 copytoram img_loop=$isofile img_dev=$imgdevpath initrd (loop)/sysresccd/boot/intel_ucode.img (loop)/sysresccd/boot/amd_ucode.img (loop)/sysresccd/boot/x86_64/sysresccd.img }
配置 ISO grub.cfg 文件,启动修复
使用您喜欢的文本编辑器打开该文件并进行以下更改:
在文件顶部添加以下行
set isofile=/isoboot/boot-repair/boot-repair-disk-64bit.iso loopback loop $isofile
在菜单项中添加文本大胆的
menuentry "Boot-Repair-Disk session" { set gfxpayload=keep linux (loop)/casper/vmlinuz.efi file=/cdrom/preseed/lubuntu.seed boot=casper quiet splash iso-scan/filename=$isofile -- initrd (loop)/casper/initrd.lz }
配置 ISO grub.cfg 文件,Ubuntu 具有持久性
这里我们将使用 ubuntu-16.04.6-desktop-i386.iso
警告:持久性工作的文件系统类型必须是 FAT
casper-rw
将文件与 ISO 一起复制
使用您喜欢的文本编辑器打开该文件grub.cfg
并进行以下更改:
在文件顶部添加以下行
set iso_path=/isoboot/ubuntu/ubuntu-16.04.6-desktop-i386.iso loopback loop $iso_path
在菜单项中添加文本大胆的
menuentry "Try Ubuntu without installing" { linux (loop)/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=${iso_path} quiet splash persistent persistent-path=/isoboot/ubuntu --- initrd (loop)/casper/initrd } menuentry "Install Ubuntu" { linux (loop)/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity iso-scan/filename=${iso_path} quiet splash --- initrd (loop)/casper/initrd } menuentry "Check disc for defects" { linux (loop)/casper/vmlinuz boot=casper integrity-check iso-scan/filename=${iso_path} quiet splash --- initrd (loop)/casper/initrd } menuentry "Test memory" { linux16 (loop)/install/mt86plus }
grub>
从终端访问系统
grub> configfile (hd0,6)/isoboot/<your system folder>/grub.cfg