dd 实用程序将映像文件写入了错误的设备

dd 实用程序将映像文件写入了错误的设备

我下载了一个图像 ( .iso) 并将其写入 USB 闪存驱动器。闪存驱动器连接到 USB 集线器,并且我还将一个外部硬盘驱动器连接到笔记本电脑的 USB 端口。完成此过程后,图像被写入外部硬盘驱动器而不是 USB 闪存驱动器。可能发生了什么?

我已经读到许多人都遇到了 USB 集线器和 Ubuntu 的问题,这个可能也属于同一类别。我的 USB 集线器没电了。

列表lsblk(问题出现之前,sdb上面有一个 XFS 分区):

NAME   TRAN   TYPE RM   SIZE MOUNTPOINT
sdb    usb    disk  0 931.5G
└─sdb1        part  0    16G [SWAP]
sr0    sata   rom   1  1024M
sdc    usb    disk  1   3.7G
└─sdc1        part  1   3.7G /media/user/D609-ADCE
sda    sata   disk  0 298.1G
├─sda2        part  0 227.7G /home
├─sda3        part  0     2G [SWAP]
└─sda1        part  0  68.4G /

用于写入 iso 文件的命令是这样的:

sudo dd bs=4M if=/home/user/lnximg.iso of=/dev/sdc

答案1

备份

我鼓励您定期备份数据,USB 硬盘驱动器是存储备份数据的不错选择。因此,请使用被覆盖的驱动器dd或其他驱动器进行备份。

您可以使用以下方式检查硬盘驱动器 (HDD) 或固态驱动器 (SSD) 的 SMART 状态磁盘gnome-disks根据此链接的别名,

HDD和SSD的SMART信息

回答你最初的问题和你的评论

  • 我很高兴没有数据丢失——不需要恢复任何数据:-)

  • 但我认为被覆盖的驱动器dd仍然完好无损。您可以使用gparted创建新的分区表和文件系统。

    我将使用ext4文件系统作为备份驱动器,因为它是众所周知的、经过调试和完善的,并且可以与大多数 Linux 发行版的大多数版本(当然包括 Ubuntu)配合良好。

  • 当您克隆到目标设备(USB 闪存驱动器)时,不应安装该设备上的任何文件系统(分区),因为其他进程可能会自动写入某些内容,这会损坏您要创建的 USB 启动系统。(但它仍会克隆到同一目标设备。)

  • 闪存驱动器可能未连接。也可能已连接。块设备/dev/sda /dev/sdb /dev/sdc...会自动分配给驱动器,顺序可能会发生变化。例如,您永远无法确定哪个驱动器(物理设备)被标识为某个块设备/dev/sdb。因此,您必须当您打算写入时,使用工具在实际情况中识别设备

    可以使用以下命令完成此操作

    sudo parted -ls
    
    sudo lsblk -f
    sudo lsblk -m
    

    这可以通过多种工具自动完成,以创建 USB 启动驱动器, 例如mkusb,您可以仔细检查以确保写入正确的设备。

  • 一般来说,当您打算创建 USB 启动驱动器时,最好断开 USB 驱动器进行备份,特别是当您使用危险的 时dd

相关内容