![使用“cat file.iso > /dev/sdb”创建可启动 USB 时出错](https://linux22.com/image/1134865/%E4%BD%BF%E7%94%A8%E2%80%9Ccat%20file.iso%20%3E%20%2Fdev%2Fsdb%E2%80%9D%E5%88%9B%E5%BB%BA%E5%8F%AF%E5%90%AF%E5%8A%A8%20USB%20%E6%97%B6%E5%87%BA%E9%94%99.png)
最初,我有一个装有 Ubuntu 14.04 LTS 可启动盘的 USB 闪存盘。但现在,我想删除/擦除它并创建另一个操作系统的新可启动盘。首先,我直接尝试:
sudo cat file.iso > /dev/sdb; sync
正如建议的那样这线程。它没有工作,返回
bash:/dev/sdb:权限被拒绝
所以,我认为发生这种情况是因为它已经包含可启动文件,因此决定将其擦除。所以我只是shred
编辑了它
sudo shred -v /dev/sdb
之后,当我将它插入 PC 时,它没有出现在 Nautilus 垂直导航上。所以我为它创建了一个文件系统sudo mkfs.ext3 /dev/sdb
(我不知道它是否是制作它的正确 fs 类型,但无论如何我只是在测试,如果不是,请警告我)
现在,我通过 nautilus 访问它,发现它确实是空的。我试图执行一开始执行的命令sudo cat file.iso > /dev/sdb; sync
,但仍然再次出现相同的“权限被拒绝”提示。
因此,有两个问题,这样mkfs
做是否正确,或者我不应该这样做?最后,我该如何解决制作可启动 iso 的问题?(我不想使用 unetbootin,无法安装它,我读到可以使用 cat/sync 来完成)提前致谢。
答案1
我注意到其他答案似乎都在质疑你为什么cat
在这种情况下使用,然后继续建议你使用dd
。
没有必要。你发布的原始命令基本上是正确的,只是不适用于sudo
(因为方向是由 shell 而不是 完成的cat
,所以你没有权限执行它),所以首先让自己进入 root shell。
sudo -i
当您进入根提示符时,发出您的第一个命令。
cat file.iso > /dev/sdb; sync
它会按照你的想法直接将 ISO 写入 USB 驱动器,这可能是比使用dd
别忘了输入
exit
当您完成 root shell 后。
答案2
您尝试的命令
sudo cat file.iso > /dev/sdb; sync
如果结果符合您的预期,则将完全覆盖 USB 驱动器。因此,之前无需/没有理由在其上创建 ext3 文件系统。
从某种意义上来说,您的mkfs.ext3
命令很好。
实际上 cat 命令不起作用,因为 sudo 命令以 root 身份运行,但输出重定向不起作用。让它工作的简单方法是
sudo dd if=file.iso of=/dev/sdb bs=16k; sync
由于这不使用输出重定向,因此 sudo 没有问题。
在您链接的问题中,这被称为“复古方式”。
答案3
强大但危险的命令
cat
和dd
可以达到目的,从 iso 文件克隆到大容量存储设备,例如 USB 闪存驱动器或存储卡。
当您向这样的设备写入数据时,您将覆盖之前的内容,包括分区表和文件系统。这些命令会按照您的指令执行,不会产生任何问题。因此,如果您告诉它们擦除您的家庭照片,它们会照做。而且这只是一个小小的打字错误。
由于dd
传统上将其用于此目的,它获得了“磁盘销毁器”和“数据销毁器”的绰号,但cat
在此上下文中使用时,也存在同样的风险。
识别目标设备并具有最终检查点的工具
因此,最好使用带有帮助功能的工具来识别目标设备,并设置最终检查点,以便检查是否选择了正确的目标设备,即 USB 闪存驱动器。这样,您就可以避免用操作系统和各种个人数据文件覆盖内部驱动器,或用个人数据文件或备份覆盖外部驱动器。
产生相同结果的克隆工具
cat
和dd
以此目的,- 启动盘创建器在 Ubuntu 16.04 LTS 及更新版本中
- 磁盘别名
gnome-disks
- 韓國
提取工具可生成不同的可用 USB 启动驱动器(不是克隆副本),
- 鲁弗斯(仅限 Windows)
- 网启动(在 Linux、Windows 和 MacOS 中)
请参阅此链接及其中的链接了解更多详细信息,
答案4
有蚀刻机也要做这个……