假设我下载了某个 Linux 发行版的可启动 ISO,因为我想稍后安装 Linux。我可以将该 ISO 刻录到我的 USB 闪存驱动器上。但是设备将保留iso9660
文件系统,因此它将不可写入。我可以安装 Linux,但我无法用我的 USB 闪存驱动器做任何其他事情。
那么,是否可以将 ISO 转换为“正常”ext4
文件系统,同时仍保持 USB 可启动?
3
最佳答案
4
iso9660
并不是使它可启动的原因——而是 CD/DVD 使用的文件系统,如果您从实际 CD启动此映像,您的固件确实会寻找特殊的 ISO9660 标头字段,但从任何其他类型的磁盘启动时,这些字段就完全无关紧要了。USB 棒可启动只是因为该映像是一个“混合 ISO”,具有传统的 MBR 引导扇区和/或 EFI 系统分区,与ISO9660 数据一起写入。
因此是的,可以创建一个常规的 ext4 文件系统(甚至是 FAT32,因为大多数“实时 CD”在 SquashFS 映像中都有实际的 Linux 根文件系统),将 ISO9660 的内容提取到其中,然后将引导加载程序安装到 USB 记忆棒的 MBR 中 – 大多数此类 CD 都使用 isolinux,因此您可以将常规 syslinux/extlinux 安装到 USB 记忆棒上,并希望它会选择现有的 syslinux.cfg。
和类似工具通常能够将 Linux ISO 的内容提取到更常规的文件系统中并使其可启动。(它并不总是 100% 有效,因为此类工具在一定程度上依赖于识别 Linux ISO 映像的特定内容并对其进行调整,但它在大多数情况下仍然有效。)
1
-
1我以为 Rufus 是一个解决方案,只是不知道已经在使用什么。
–
|
将 Ubuntu live ISO(安装媒体)写入 USB 存储器。
如果您启动一次(在“尝试 Ubuntu”模式下),
您将获得一个“可写”分区,该分区覆盖了记忆棒内存的“可用”部分
(即 ISO 映像未被占用的部分)。
遗憾的是,这不能用于数据传输,例如gparted
任何操作系统(除了从棒启动的操作系统!)都没有看到用于安装的“可写” – 它很可能在 ISO 映像“内部”。
但这确实有效:
在第一次启动之前;使用任何分区工具并创建至少一个第二个分区
以下是@DavidAnderson 评论的详细信息:
我使用fdisk --wipe never
命令创建了第 4 个分区。此命令自动将辅助(备份)分区表和标头移动到闪存驱动器的末尾。我使用命令mkfs.fat -F 32
在新分区中创建 FAT 32 格式的卷
4
-
我测试了您的答案,发现标记为“可写”的 ext4 卷分区未出现在 中
gparted
。此外/var/log
,和 也/var/crash
安装到此卷的不同文件夹中。
– -
这表明我记错了…上面添加了想法。
–
-
您的更新答案适用于 Ubuntu Desktop 24.04.1。我能够将具有 FAT32 格式卷的第 4 个分区添加到 GPT 中已经存在的三个分区。我使用该
fdisk --wipe never
命令创建了第 4 个分区。此命令自动将辅助(备份)分区表和标头移动到闪存驱动器的末尾。我使用该mkfs.fat -F 32
命令在新分区中创建了 FAT 32 格式的卷。
– -
好吧,我尝试对其进行相应的编辑;根据您的评论,我需要使用这个“功能”来获得正确的细节。
–
|
是一个工具,它将创建一个可启动的 USB 设备,其中包含一个 HPFS/NTFS/exFAT 类型的分区,您可以在其中复制粘贴.iso
文件。然后从 Ventoy 启动时,它将显示可用 ISO 的列表。但您也可以在此分区上存储任何文件。
如果愿意,您还可以来创建 EXT4 分区。
|
我自己找到了另一个答案。我希望这可以帮助其他人。(使用 Linux)
- 我将 USB 闪存盘格式化为
ext4
- 我将 ISO 文件挂载为本地磁盘
- 我将所有文件从 ISO 复制到 USB 闪存驱动器
- 我在 USB 密钥上安装了 grub:
sudo grub-install --target=i386-pc /dev/sdc
1
-
既然您找到了自己的解决方案,您能否发布您正在使用的 Linux 发行版?
–
|
–
openSUSE-Leap-15.5-GNOME-Live-x86_64-Build13.195-Media.iso
复制到 USB 记忆棒时,。 openSUSE Leap live ISO 的创建方式似乎使用 USB 记忆棒上未使用的空间来提供持久存储,作为某种覆盖文件。–
–
|