在NTFS分区上安装Ubuntu

Ubuntu安装程序不允许我在NTFS分区上安装,但某些情况需要我这样做。 可能吗?

不.NTFS不支持Linux文件权限,因此您无法在其上安装Linux系统。

可以在NTFS分区上安装Ubuntu。

图像创作

您需要在NTFS分区上创建映像文件。 尝试启动Ubuntu Live CD,启动终端,将目录更改为NTFS分区,然后创建映像文件:

cd /media/ubuntu// mkdir linux cd linux/ dd if=/dev/zero of=./linux.img bs=1M count=32768 mkfs.ext4 ./linux.img 

这将在linux/linux.img使用EXT4创建一个大小为32GB的图像文件

环回文件系统设置

现在,在/dev/sdX创建一个虚拟块设备,其中X是一个非占用的块设备字符(即我只有 /dev/sda ,所以我用/dev/sdb );

还要选择未使用ls -al /dev的次要编号(在本例中为200 ):

 sudo mknod /dev/sdb b 7 200 sudo losetup /dev/sdb ./linux.img 

安装Ubuntu

您现在可以启动Ubuntu安装程序并在/dev/sdX上安装Ubuntu, 如果您没有在该磁盘上安装Windows ,请确保已将引导加载程序安装到您的真实磁盘(或EFI分区)。 安装完成后,需要通过挂载映像来获取内核和initrd文件名:

 sudo mkdir /media/ubuntu/rfs sudo mount -o loop /dev/sdb /media/ubuntu/rfs ls -al /media/ubuntu/rfs/boot 

标记内核和initrd文件名,在我的情况下是vmlinuz-4.4.0-31-generic ,和initrd.img-4.4.0-31-generic

引导程序

我的NTFS分区上有一个Windows,所以我选择了Grub2Win作为我的引导加载程序。 但是,如果您没有安装Windows并且坚持使用NTFS分区(尽管这样做没有意义),GRUB应该已经安装在您上一步的磁盘上。 无论您使用Grub2Win还是原始GRUB,您都需要编辑GRUB配置并使用以下命令:

 echo Booting linux... loopback loop0 (hd0,1)/linux/linux.img set root=(loop0) linux /boot/vmlinuz-4.4.0-31-generic root=/dev/sda1 loop=/linux/linux.img rw verbose nosplash initrd /boot/initrd.img-4.4.0-31-generic 

您需要编辑(hd0,1)/dev/sda1到您的linux映像所在的NTFS分区。您可以使用GRUB命令行来获取它。 还要根据您的安装修改内核和initrd文件名。 确保您的GRUB具有NTFS和环回支持。

现在,当您启动磁盘时,您可以使用GRUB启动到Ubuntu。 我已经在这里写了我的步骤和程序,但我正在使用Grub2Win,如前所述。

我不确定你的“某些情况”是什么,但你最好调整分区大小并让Ubuntu拥有自己的空间。 您可以随时resize/移动Ubuntu分区。

出于安全性,技术和其他原因,您无法在NTFS系统上安装Linux(例如,用户空间驱动程序支持NTFS)。

据说, wubi是一个Ubuntu安装程序,它允许“以与任何其他Windows应用程序相同的方式安装和卸载Ubuntu” – 我从未尝试过这个但我想整个分区都包含在一个可以在NTFS驱动器上的文件中。

http://www.ubuntu.com/download/ubuntu/windows-installer

我很确定不可能在传统意义上的NTFS分区上安装Ubuntu – 即作为直接访问驱动器等的独立操作系统。首先,文件系统权限模型是完全不同的等等。

但是,您可以从安装在例如ext4-partition上的Ubuntu访问NTFS分区。