我在使用可启动 USB 驱动器方面的运气非常不稳定,随着时间的推移,我变得困惑不已,不知道到底发生了什么。
在以下线程中这个和这个,看来我并不是唯一一个在已经制作成可启动的 USB 盘上制作可启动 USB 盘时遇到问题的人。有人认为这与金士顿驱动器有关,但我也遇到过三星和 SanDisk 的问题。更奇怪的是,大多数时候我可以用一根盘制作两个或更多可启动 USB 盘,但有时,在做了很多次之后,我最终会到达一个只能归零的地步,即便如此,USB 之后有时会有点不稳定,使用时会出现各种不可预测的问题。
难道我的运气真的不好,USB 记忆棒的耐用性真的不好吗?USB 记忆棒真的不符合其宣传的规格吗?
某些磁盘实用程序(例如 Gparted 或 Startup Disk Creator)在覆盖看起来相似的块时是否会采用某种快捷方式?
USB 创建工具可能做了什么导致其工作有时可以删除,有时却不能?
答案1
制作可启动盘的方法有多种:
您拥有任何操作系统的预制磁盘映像,并以“原始模式”写入它(使用
dd
、Win32DiskImager 或类似程序)。此过程完全确定性 - 如果您写入 500 MB 的映像,则每次写入磁盘的数据都完全相同。该映像包含自己的分区表、自己的引导加载程序以及所需的一切。(通常磁盘比这稍大一些,剩余区域未受影响。但是,映像的分区表也不会映射该区域,因此操作系统永远不会使用它,也不会导致任何差异。)
(缺点:这只适用于以下磁盘映像:已经可从常规磁盘启动。“ISO”文件传统上主要用于使用不同启动方法的 CD,因此映像作者必须使用例如“isohybrid”将其转变为多用途映像。)
您有一个 Linux 磁盘映像,并使用特殊的可启动棒制作程序,例如 UNetBootin、Rufus(已选择其“ISO 模式”);等等。在此方法中,程序会解释映像并以自己的方式写入其内容。分区表通常由程序本身创建。
这个过程在很大程度上取决于每个程序的工作方式;不同的工具会根据相同的原始图像制作不同的 USB 记忆棒。
- 例如,您需要知道程序是否在生成新分区表之前擦除整个分区表;或者它是否删除分区但保留其余部分;或者它是否只是重新格式化现有分区。
- 您还需要知道该程序是否使用现有的引导加载程序,或者是否安装自己的引导加载程序,如果是,则是否安装相同类型的引导加载程序,或者是否尝试使用 GRUB 替换 Syslinux。(UNetBootin 曾因这些替换工作做得非常糟糕而臭名昭著。)
因此,这个过程取决于很多变量——你使用的程序,版本您正在使用的、.iso 中已有的引导加载程序的类型,甚至可能是您上次在 USB 记忆棒中已有的引导加载程序的类型。
您有一个磁盘映像,但需要手动提取仅文件放入 USB 记忆棒 – 按照操作系统提供的说明对其进行分区并安装引导加载程序。
与前一个选项一样,这有很多变量——分区工具的差异、引导加载程序版本的差异、从映像中提取文件并将其复制到 USB 驱动器的方式的差异。