将小图像文件复制到大 USB 设备后重新获得完整的磁盘空间

将小图像文件复制到大 USB 设备后重新获得完整的磁盘空间

我正在使用以下命令将图像文件(大小:2GB)复制到 USB 磁盘/dev/sda(大小:2TB)dd

sudo dd if=2023-05-03-raspios-bullseye-arm64-lite.img of=/dev/sda bs=4M status=progress conv=fdatasync

之后dd,U盘上有同样的“尺寸” 作为图像(2GB),至少是这样fdisk说的:

$ sudo fdisk -l /dev/sda
Disk /dev/sda: 1,96 GiB, 2101346304 bytes, 4104192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x544c6228

Device     Boot  Start     End Sectors  Size Id Type
/dev/sda1         8192  532479  524288  256M  c W95 FAT32 (LBA)
/dev/sda2       532480 4104191 3571712  1,7G 83 Linux

跑步后如何恢复 USB 设备的完整磁盘空间dd

我想保留分区+数据dd由...制作。

我希望能够在修复分区后执行以下任一操作:

  1. 在(不可见的)剩余磁盘空间中创建一个新分区
  2. 调整大小/dev/sda2至完整空间

答案1

如果/dev/sda是块设备,fdisk -l /dev/sda则将显示其完整大小。无需“重新获得完整的磁盘空间”。

假设:你的/dev/sda不是U盘。这是创建的常规文件,dd因为/dev/sda在运行时根本不存在dd。常规文件只是源图像的副本。

对于常规文件,fdisk -l …显示文件的大小。这就是你得到的。

您可以通过运行来拒绝或确认假设ls -l /dev/sda。如果第一个字符是,b则该文件是块设备,因此很可能是您提到的磁盘。如果第一个字符是,-则该文件是常规文件。

如果/dev/sda是普通文件,则删除;它不属于那里。在这种情况下,USB 磁盘必须是其他磁盘(例如),或者由于某种原因根本/dev/sdb没有相应的节点。可以帮助您找到正确的节点(如果存在)。/dev/lsblk

相关内容