如何将可启动 ISO 文件刻录到硬盘驱动器上的分区以用作救援系统?

如何将可启动 ISO 文件刻录到硬盘驱动器上的分区以用作救援系统?

我计划重新安装 Ubuntu,并希望将一个小型可启动恢复系统(如 SystemRescueCD)刻录到硬盘驱动器上的一个分区,但仍能在同一驱动器上安装 Ubuntu,并能启动 Ubuntu 和恢复分区。这可能吗?如果可以,我该怎么做?编辑:我当前的 Ubuntu 版本是 19.04。

答案1

要从分区启动 ISO 映像:

(hd0,6)只是一个例子,您必须根据您拥有的分区进行更改。

  1. 获取 ISO(呃)

  2. 选择要从中启动 ISO 映像的分区。它不需要是特殊分区,可以是任何格式,或者至少是 FAT、NTFS、EXT*。(我没有尝试过其他格式)(如果您想要持久性,它必须是 FAT)。它可以包含其他数据,不会有区别。记下它是哪个分区,即/dev/sda6

  3. 将 ISO 文件(无需提取)复制到您的分区。为了便于组织,您可以/isoboot/在分区的根目录中创建一个文件夹,然后创建一个名称可识别系统的子文件夹,并将 ISO 粘贴到那里。

  4. 挂载 ISO。最简单的方法是使用"Open with disk image mounter"文件浏览器上下文菜单中的选项,右键单击文件。

  5. 安装后,转到目录/boot/grub/并复制文件grub.cfg。 将其粘贴到里面 /isoboot/<your_system_name>

  6. 在你的 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
     }
    
  7. 跑步update-grub


每个 ISO 上的情况都不同,grub 配置文件可能有不同的名称

配置 ISO grub.cfg 文件,系统救援 CD

使用您喜欢的文本编辑器打开该文件并进行以下更改:

  1. 在文件顶部添加以下行

     set isofile=/isoboot/systemrescuecd-6.0.3.iso
     loopback loop $isofile
    
     probe -u $root --set=rootuuid
     set imgdevpath="/dev/disk/by-uuid/$rootuuid"
    
  2. 在菜单项中添加文本大胆的

    
     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 文件,启动修复

使用您喜欢的文本编辑器打开该文件并进行以下更改:

  1. 在文件顶部添加以下行

     set isofile=/isoboot/boot-repair/boot-repair-disk-64bit.iso
     loopback loop $isofile
    
  2. 在菜单项中添加文本大胆的

    
     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 文件

casper-rw将文件与 ISO 一起复制

使用您喜欢的文本编辑器打开该文件grub.cfg并进行以下更改:

  1. 在文件顶部添加以下行

     set iso_path=/isoboot/ubuntu/ubuntu-16.04.6-desktop-i386.iso
     loopback loop $iso_path
    
  2. 在菜单项中添加文本大胆的

    
     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

相关内容