如何在没有任何 USB 或 DVD 的情况下通过 ISO 文件从 Ubuntu 16.04 LTS 升级或安装 Ubuntu 18.04 LTS?

如何在没有任何 USB 或 DVD 的情况下通过 ISO 文件从 Ubuntu 16.04 LTS 升级或安装 Ubuntu 18.04 LTS?

我下载了 Ubuntu 18.04 的最新 LTS 版本。我目前没有多余的 USB 或 CD/DVD。因此,我只想从该 ISO 安装或升级我当前的系统,而无需制作任何可启动设备。这可能吗?如果可以,请告诉我整个过程!

答案1

备份!所有内容都将被覆盖。

将 Ubuntu 18.04 ISO 复制到 HDD 根目录 (/)。

编辑 grub.cfg 更改 40_custom 如下所示:

    ### BEGIN /etc/grub.d/40_custom ###
    # 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 "ubuntu-18.04-desktop-amd64" {
            loopback loop (hd0,2)/ubuntu-18.04-desktop-amd64.iso
            linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-18.04-desktop-amd64.iso splash toram -- 
            initrd (loop)/casper/initrd.lz
    }
    ### END /etc/grub.d/40_custom ###

正常安装 Ubuntu,但您只有一次机会。

答案2

因此使用回送的特征GRUB,可以启动一个异质安装在你的硬盘的一个分区上。

  1. 将 ubuntu ISO 复制到一个备用分区。备用分区是指安装 ubuntu 时不会覆盖的分区。例如,您的 NTFS Windows 分区。

  2. 在 grub 配置中添加一个 iso 条目。为此,编辑/etc/grub/40_custom并添加类似以下内容的内容

    insmod search_fs_uuid
    insmod ntfs
    search --no-floppy --set=isopart --fs-uuid XXXXXXXXXXXXX
    
    menuentry '[loopback]ubuntu-18.04-desktop-amd64' {
        set isofile='/Grub/ISO/ubuntu-18.04-desktop-amd64.iso'
        loopback loop ($isopart)$isofile
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile locale=en_US.UTF-8
        initrd (loop)/casper/initrd.lz
    }
    

    这需要一点解释

    这将按文件系统搜索您的分区唯一标识。因此,您需要知道 fs 分区的 uuid。您可以使用blkid来获取。查找唯一唯一标识符不是 PARTUUID。因此,请将 XXXXXXXXXX 替换为您的 fs 的 uuid。

    如果您的分区不是 NTFS,那么您需要为您的 fs 安装模块,比如 ext4。

    isofile变量与分区的根目录,而不是当前系统的根目录。例如,我有/media/me/Windows10/Grub/ISO/ubuntu-18.04-desktop-amd64.iso,作为 ISO,因此我将其用作/Grub/ISO/ubuntu-18.04-desktop-amd64.isoisofile

  3. 跑步sudo update-grub

  4. 重启并在 Grub 菜单中,选择 loopback 条目。然后像从 USB 或 DVD 启动一样进行安装。

相关内容