ifs*_*ife 5 dd fdisk mbr raspberry-pi
我的树莓派使用的是 32GB SD 卡。我已成功将操作系统 ( Archlinux
ARM
)转移到 USB 硬盘上。这意味着我只需要 SD 卡上的引导分区。
仅使用大约 100MB 的 32GB 卡是非常浪费空间的,我确实有一个较小的 SD 卡,容量为 4GB。
如何MBR
将32GB卡的第一个分区复制到4GB卡?
我尝试使用以下命令保存MBR
较大卡的第一个分区dd
:
dd if=/dev/sdb of=mbr_image bs=446 count=1
dd if=/dev/sdb1 of=boot_image
Run Code Online (Sandbox Code Playgroud)
然后我在较小的卡上创建了一个新的分区表,它看起来与原始 32GB 卡上的表完全一样:
Device Boot Start End Blocks Id System
/dev/sdc1 * 2048 194559 96256 c W95 FAT32 (LBA)
Run Code Online (Sandbox Code Playgroud)
最后,我将之前存储的图像复制到我的小卡片上:
dd if=mbr_image of=/dev/sdc bs=446 count=1
dd if=boot_image of=/dev/sdc1
Run Code Online (Sandbox Code Playgroud)
一切看起来都很好,fdisk
但它不起作用。当我尝试从较小的卡启动时,我的树莓派没有任何反应。
错误在哪里?
根据此说明备份您要使用的 MBR bs=512
,然后bs=446
将其复制到较小的卡。
dd if=/dev/mmcblk0 of=mbr_image bs=512 count=1
dd if=mbr_image of=/dev/mmcblk0 bs=446 count=1
Run Code Online (Sandbox Code Playgroud)
我没有使用 Raspberry Pi 的实践经验,所以我不知道设备标签是否重要。引用的站点建议用于/dev/mmcblk0
MBR 和/dev/mmcblk01
设备分区。
编辑:
我之前忽略了这一点。您尝试的步骤和我提到的链接似乎都缺少文件系统格式。使用 fdisk创建后/dev/sdc1
,您需要格式化文件系统才能使用。
mkfs.vfat -F 32 /dev/sdc1
Run Code Online (Sandbox Code Playgroud)
之后,执行dd if=boot_image of=/dev/sdc1
它应该可以工作。
归档时间: |
|
查看次数: |
14511 次 |
最近记录: |