dd
我想使用(磁盘转储)命令创建固态驱动器的磁盘映像。 SSD上有多个分区。是否可以制作包含所有分区的驱动器完整映像?
这是它如何与 HDD 配合使用的示例:
dd if=/dev/sda of=/mnt/sdb/disk.img conv=sync,noerror bs=64K
但是,我不确定,因为/dev/
我的 NVMe SSD 的路径看起来不同。有以下几种变体:
/dev/nvme0
/dev/nvme0n1
/dev/nvme0n1p1
/dev/nvme0n1p2
/dev/nvme0n1p3
/dev/nvme0n1p4
我必须将哪个路径设置为输入文件if=
?为什么?nvme0n1p1
是nvme0n1p4
四个分区。正如我之前所说,我不想只创建单个分区的映像。nvme0
和 和有什么区别nvme0n1
?
答案1
如果你想制作整个磁盘的镜像,请使用/dev/nvme0n1
,这是 NVMe 驱动器块设备(它实际上是一个“名称空间”,理论上您可以在 NVMe 驱动器上拥有多个命名空间,这就像“硬件级别的分区”,但大多数“消费者”NVMe 仅具有一个命名空间)。
/dev/nvme0
是控制器,用于控制/管理 NVMe 设备的字符设备(例如添加新的命名空间、更改块大小等)。您可以使用nvme-cli用于 NVMe 管理的工具,例如使用设备获取 SMART 数据或温度nvme0
:
sudo nvme smart-log /dev/nvme0
Smart Log for NVME device:nvme0 namespace-id:ffffffff
critical_warning : 0
temperature : 38 C
available_spare : 100%
...
(但我通常不建议使用该工具,您可以很容易地意外地从驱动器中删除所有内容。)
ArchWiki 有一个很棒的文章如果您对更多详细信息感兴趣,请参阅有关 NVMe 的信息,但您需要了解的一切是:
- 忽略
nvme0
,你可能永远不会使用它 nvme0n1
是驱动器 (=sda
)nvme0n1pX
是分区 onnvme0n1
,唯一的区别是sda + number
where表示“分区”nvme0n1 + p + number
,并且仅因为以数字结尾(不是 NVMe 特定的)p
而添加nvme0n1