我下载了 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,可以启动一个异质安装在你的硬盘的一个分区上。
将 ubuntu ISO 复制到一个备用分区。备用分区是指安装 ubuntu 时不会覆盖的分区。例如,您的 NTFS Windows 分区。
在 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.iso
isofile跑步
sudo update-grub
重启并在 Grub 菜单中,选择 loopback 条目。然后像从 USB 或 DVD 启动一样进行安装。