在 Windows 分区上的文件中安装 ubuntu(类似于 Wubi 安装程序)

在 Windows 分区上的文件中安装 ubuntu(类似于 Wubi 安装程序)

我正在我的 ntfs windows 分区上的文件中安装 ubuntu。

这很容易做到:

disable safe boot in bios
you might also need to set AHCI SSD interface access
boot and run live cd

打开终端并以 root 身份

#mount ntfs partition
mount -t ntfs /dev/nvme0n1p3 /mnt
#create installation folder
mkdir /mnt/ubuntu
#create virtual drive
mknod /dev/sdx b 7 100
#create virtual disk image
dd if=/dev/zero of=/mnt/ubuntu/ubuntu.img bs=1G count=256
#link the virtual drive to the virtual disk image
losetup /dev/sdx /mnt/ubuntu/ubuntu.img

并像在单独的磁盘上一样在 /dev/sdx 中安装 ubuntu。

常见问题:

/dev/nvme0n1p3 not showing up - these are related to bios settings
mount -t ntfs /dev/nvme0n1p3 /host fail to mount - windows partition can be encrypted, so disable from windows (no need to format or reinstall windows)

要从新环境启动,我使用 grub config:

### BEGIN /etc/grub.d/10_linux ###
menuentry 'ubuntu' {
        rmmod tpm
        loopback loop (hd0,gpt3)/ubuntu/ubuntu.img
        root=(loop)
        linux /boot/vmlinuz-generic root=/dev/sdx rw verbose nosplash
        initrd /boot/initrd.img-generic
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  set timeout=10
fi
### END /etc/grub.d/10_linux ###

rmmod tpm 导致安装循环挂起(grub 2.04)

在旧版本上需要加载 ntfs 驱动程序(grub 2.02):modprobe ntfs

这实际上会将启动过程转移到 initramfs shell

此时你需要手动添加命令来加载图片

#create mount point needed by initramfs image
mkdir /host
#mount ntfs partition
mount -t ntfs /dev/nvme0n1p3 /host
#create virtual drive
mknod /dev/sdx b 7 100
#link the virtual drive to the virtual disk image
losetup /dev/sdx /host/ubuntu/ubuntu.img
#continue boot up
exit

这可以轻松添加到 initramfs 脚本中。

我的问题是,我们可以将此功能添加到 Ubuntu 吗?

我发现它很容易做到而且非常有用。我可以在本机环境中启动 ubuntu,但也可以像虚拟磁盘映像一样移动我的映像。要移动我的安装,我只需在另一个实例上执行相同的步骤,然后从旧实例复制我的 ubuntu.img 文件并在新实例上覆盖它即可。

谢谢你,拉兹万

答案1

是的,您可以打开功能请求https://bugs.launchpad.net/ubuntu并应在 24 小时内进行查看。

相关内容