背景:
今天我试图弄清楚如何使用可写文件系统安装 NixOS live usb(dd
-ing iso 会导致只读 iso9660 fs)。
我将 USB 分成两个分区,一个是空的,一个格式化为 ext4。我跑了类似的东西dd if=(nixos image).iso of=/dev/sdb1
。然后我意识到它可能不起作用,所以我打开 gparted 删除所有内容并尝试其他方法。
在这里,我注意到发生了一些奇怪的事情:gparted 说我的 32GB 随身碟只有大约 1.4GB(第一个分区的大小)。似乎/dev/sdb
和现在是一样的事情/dev/sdb1
。
磁盘实用程序看到第二个分区,但无法删除它或格式化整个驱动器。
我的 Windows 机器根本看不到 U 盘。
我也尝试过wipefs /dev/sdb
如何使我的 U 盘恢复到可用状态?
更新:
重新启动后问题就消失了(现在我很尴尬我没有早点尝试这个)。我找不到重现它的方法。我忘记提及的一件事是,我还将 iso 安装为循环设备,但后来卸载了它。正如您在屏幕截图中看到的,gnome-disks
循环设备仍然存在,但我不确定它是指向 iso 还是指向 pendrive 上的第一个分区。那么也许循环安装以某种方式干扰了访问/dev/sdb
?
为了澄清一下,我尝试将整个驱动器以及第一个兆字节清零。这不起作用,/dev/sdb
因为不是指出它应该做什么(至少这是我的解释)。
答案1
您所描述的问题是由低级设备工具(如 dd)将错误大小的块直接写入设备引起的。
要解决此问题,您需要将设备块重写为适当的大小。这可以通过 dd 来完成。在运行命令之前仔细检查您的输出设备
sudo dd if=/dev/zero of=/dev/sdb bs=2048 count=32
完成 dd 命令后,您应该能够通过 gparted 访问您的设备。
要不然尝试下面的命令
wipefs -a /dev/your-device
它将擦除磁盘中的所有分区