Kla*_*ann 5 server partitioning grub2 system-installation 20.04
我正在尝试在远程服务器上安装 Ubuntu Server 20.04。问题是,我无法连接 USB 驱动器,并且托管提供商不允许我挂载 ISO 映像,我所拥有的只是预装的 Ubuntu 系统。
为了启动 Ubuntu 服务器设置,我按照本文中的说明添加了 grub 菜单项,以便可以从 Ubuntu 服务器 ISO 引导。这是菜单项:
menuentry "Ubuntu 20.04 ISO" {
set isofile="/root/ubuntu-20.04.1-live-server-amd64.iso"
rmmod tpm
loopback loop (hd0,2)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject toram
initrd (loop)/casper/initrd
}
Run Code Online (Sandbox Code Playgroud)
现在,当我选择此菜单项时,安装程序将启动,创建一个 ramdisk,将 ISO 的内容复制到内存中,然后我完成安装的前几个步骤,直到:
太好了,安装程序如何无法发现我的硬盘驱动器?
当我切换到终端并运行时,lsblk
我看到它sda
明显存在并且sda2
仍然安装在/isodevice
- 这是意外的,因为 ISO 已经复制到 ramdisk。umount /dev/sda2
返回“目标正忙”,但它适用于该-l
选项。
即使如此,我在引导存储配置页面上仍然遇到相同的错误。我在这里缺少什么?即使可以看到我的硬盘,什么会阻止安装程序检测到lsblk
它?
更新:
我按照@elder-geek的建议,使用旧版安装程序尝试了它,使用了这个grub菜单项:
menuentry "Ubuntu 20.04 legacy server ISO" {
rmmod tpm
set root=(hd0,2)
set isofile="/root/ubuntu-20.04.1-legacy-server-amd64.iso"
loopback loop $isofile
linux (loop)/install/vmlinuz boot=install iso-scan/filename=$isofile noeject toram
initrd (loop)/install/initrd.gz
}
Run Code Online (Sandbox Code Playgroud)
通过此设置,我可以启动旧安装程序并完成前几个步骤,但随后我陷入困境,因为安装程序无法安装它期望的 CD-ROM 驱动器。似乎旧版安装程序不支持该toram
选项(与 casper 不同),因此我无法使用它从 RAM 运行安装程序,如果我想从正在运行的文件系统上的 ISO 文件进行安装,这是一个严格的要求在安装过程中被销毁。
更新:用20.10安装程序尝试过,同样的问题。lsblk
并parted
可以从安装程序的命令行看到我的磁盘,但引导存储配置失败。我在这里没有想法了......
立即在启动板上提交错误报告...
这是一个十多年前的错误造成的结果。问题在于,尽管安装程序是使用该toram
选项启动的,但 ISO 映像仍然已安装。解决方案是卸载 ISO,但这里有两个陷阱:
umount
,你必须先分离循环设备losetup
一旦进入安装程序的第一个屏幕,请使用 F2 切换到终端,然后输入
losetup -d /dev/loop0
umount /isodevice
Run Code Online (Sandbox Code Playgroud)
使用 Ctrl+D 退出终端即可。
归档时间: |
|
查看次数: |
32494 次 |
最近记录: |