Ubuntu 只支持 FAT32,不支持 NTFS

Ubuntu 只支持 FAT32,不支持 NTFS

我目前发现自己处于绝望的境地。我正在尝试从我的计算机上安装的随身碟启动乌班图22.10,它无法识别我的用 NTFS 文件系统格式化的随身碟,因此无法启动和格式化我的计算机。

我总是用以下格式格式化我的笔记本NTFS它工作得很好,但是在最新版本的 Ubuntu 22.10 上我没有成功。目前我的电脑只能识别FAT32文件系统(我通常可以将其格式化为这种格式),但问题是我正在尝试安装Windows 11和某个ISO文件为4.8 GB,即文件损坏,文件大小限制为4GB(操作系统安装窗口将打开,但因此不会安装)。

老实说,我不知道发生了什么,我尝试过其他文件系统格式,但 Ubuntu 仅发布 FAT32,由于文件大小限制,我无法安装操作系统。在有人告诉我 Pendrive 配置不正确、BIOS/UEFI 中的启动顺序不正确、启动映像损坏、Pendrive 有缺陷或损坏等之前,我已经检查过所有这些,有谁知道解决方案吗?

答案1

有几台(但并非所有)计算机可以在 UEFI 模式下从 NTFS 分区启动。换句话说,您创建的 Windows 安装程序 我觉得和这个方法类似在 USB 驱动器上,应该管用在多台计算机上,但您的计算机似乎需要 FAT32 分区才能实现此目的。

有多种方法可以修复或解决该问题,以便在 USB 驱动器上创建 Windows 安装程序。

  • 描述了“自己动手”方法的链接这里(概述)这里(详细信息)

  • 这种“自己动手”的方法是在姆库斯布包并可通过mkusb-dus和获得mkusb-plug

    sudo add-apt-repository universe  # this line only for standard Ubuntu
    
    sudo add-apt-repository ppa:mkusb/ppa
    sudo apt-get update
    sudo apt-get install mkusb mkusb-plug
    
    sudo apt-get install usb-pack-efi  # only for persistent live drives
    

    mkusb 制作的 Windows 安装程序可以在 UEFI 模式和 BIOS 模式(别名 CSM 别名传统模式)下启动。

  • 使计算机以 UEFI 模式从 NTFS 启动的工具,NTFS UEFI 驱动程序,'UEFI:NTFS',由创建并维护的 Pete Batard 描述鲁弗斯

  • 创建 Windows 安装程序的经典工具winusb已分叉为woeusb,并且已对其进行了多次修改以跟上 Windows 和 Linux 的修改。我认为这个链接描述了 github 版本woeusb是最新的(但 2023 年 9 月尚未检查)。

  • 最后,您可以使用微软提供的方法,但这里不再介绍该方法;-)

答案2

假设实际上,您可以在 Ubuntu 计算机或其他计算机上使用 NTFS 格式化某些驱动器/分区,您可以提取并复制内容将 Windows ISO(即里面的文件、目录)复制到驱动器并使用 grub 启动它。该驱动器是否与安装 grub 的驱动器相同并不重要。

在(现代)Windows 上,您只需双击 ISO 即可安装它。然后,您应该会看到它以某种虚拟驱动器的形式附加,您可以在其中选择所有内容,将内容从 ISO 复制并粘贴到 NTFS 格式的驱动器。

在Linux上,可以使用命令挂载它mount。例如:

mkdir -p /tmp/src/
mount path/to/iso/file /tmp/src/

只要您的发行版附带启用了循环设备驱动程序和 UDF 驱动程序的内核,该命令就应该会成功。(即使只有 ISO9660 驱动程序而没有 UDF 驱动程序,也可能有效。)

然后还挂载 NTFS 格式的驱动器。例如:

mkdir -p /tmp/dst/
mount /dev/sdXY /tmp/dst/

同样,这需要您的发行版在其软件包存储库中附带带有 NTFS 驱动程序的内核或 ntfs-3g(用户空间/FUSE 驱动程序)。对于后者,如果尚未安装,应该能够使用包管理器安装它。

如果驱动器是 USB 驱动器,它可能会由您的桌面环境 (DE) 通过 udisks2 自动安装。如果是这种情况,您可能需要找出它的安装位置,而不是使用 再次安装它mount。 (通常它会在/media或下的某个位置/run/media。如果您可以在文件管理器中看到它并要使用它执行文件复制,您甚至可能不需要知道路径到底在哪里。)

然后您只需将 ISO 的内容复制到驱动器,例如:

cp -rv /tmp/src/* /tmp/dst/

或者

rsync -rv /tmp/src/ /tmp/dst/

(如果要使用 ,请确保您知道尾部斜杠对于源路径非常重要rsync。)

当然,您可以改为使用 GUI 文件管理器以“Windows 方式”执行文件复制。(但是,GUI 文件复制长期以来一直存在令人惊讶的问题,例如,即使在预期刷新时间之后很长时间,也会无缘无故地停滞/无法完成。也许情况已经好转了。也许没有。我不知道,因为 CLI 对我来说工作得很好。)

然后卸载 USB 驱动器和 ISO:

umount /tmp/dst/
umount /tmp/src/

许多供应商的 UEFI 固件没有对 NTFS 的“额外”支持。 AFAIK AMI Aptio 是唯一提供自己的 NTFS DXE 驱动程序的实现。

幸运的是,您甚至不必像 Rufus 方法那样进行侧面加载。您可以使用 grub 菜单项来引导您进入 Windows 安装程序:

menuentry 'Install Windows' {
    search -u 49EA0D032930D9B5 -s
    chainloader /efi/boot/bootx64.efi
}

49EA0D032930D9B5示例中是 NTFS 文件系统(ISO 内容已复制到的位置)的卷序列号。它在 Linux 中被视为文件系统 UUID(注意:NOT ),因此您应该能够使用或轻松PARTUUID找到它。lsblk -fblkid

IIRC 您必须确保/efi/boot/bootx64.efi全部采用小写字母,因为它在 ISO/UDF 中(并且因为内容现在位于 NTFS 中)。

您可能会发现一些类似的示例,要求您拥有一堆insmod.根据我使用 Arch Linux 中附带的 grub 的经验,没有必要。但你可能可以拥有它part_msdospart_gpt无论如何,ntfs以防万一。

(请注意,这仅在您有 efi grub 时才有效。如果您有通过 CSM 启动的 BIOS grub,则这将不起作用。我思考在这种情况下,你会从 grub 中得到一个错误。它大概不会只是给你一个黑屏或重置。但我不确定。)

PS 由于我个人已经很长时间没有生成 grub.cfg,所以我不知道应该将菜单项放在哪里,以便grub-mkconfig/update-grub将其添加到 grub.cfg (以及您的 grub 启动菜单) 。可能是下面的某个文件/etc/grub.d左右。自己做研究。另外,由于您可能只需要它一段时间,您甚至可以将其放在 grub.cfg 的末尾(在 下/boot/grub)。

相关内容