我目前发现自己处于绝望的境地。我正在尝试从我的计算机上安装的随身碟启动乌班图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 -f
blkid
IIRC 您必须确保/efi/boot/bootx64.efi
全部采用小写字母,因为它在 ISO/UDF 中(并且因为内容现在位于 NTFS 中)。
您可能会发现一些类似的示例,要求您拥有一堆insmod
.根据我使用 Arch Linux 中附带的 grub 的经验,没有必要。但你可能可以拥有它part_msdos
,part_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
)。