首先要知道当前的机器上有哪些磁盘,用 fdisk -l
可以查出
# fdisk -l Disk /dev/mmcblk0: 7.3 GiB, 7818182656 bytes, 15269888 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 Disk /dev/mmcblk0boot1: 4 MiB, 4194304 bytes, 8192 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 Disk /dev/mmcblk0boot0: 4 MiB, 4194304 bytes, 8192 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 Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors |
可以看出, mmcb1k0 就是机器自身的硬盘,而 sda 则是我自己外接的移动硬盘。
经过了解知道,dd 可以将当前整块磁盘的内容,完整地复制到其它的磁盘。命令如下:
dd if=/dev/sda of=/dev/sdb |
这样就是把 sda 这块盘的内容复制到 sdb 里
但是平时从网上下载的固件主要是 img 格式的,这种怎么做呢?同样用 dd 就行:
dd if=/dev/sda of=/media/one/backup.img |
N1 上用的命令是这个:
dd if=/dev/mmcblk0 of=/media/one/back.img |
等了好久好久,才复制完成,此时在我移动硬盘的根目录下,可以看到一个 back.img 文件。
之前要恢复的话,用这个命令
dd if=/media/one/back.img of=/dev/mmcblk0 |
在 ubuntu 中将系统dd到 U盘
sudo dd if=/dev/sda of=/dev/sdb conv=noerror,sync ^C14583513+0 records in 14583513+0 records out 7466758656 bytes (7.5 GB, 7.0 GiB) copied, 7048.69 s, 1.1 MB/s |
$ dd if=/dev/mmcblk1 of=/media/one/back.img 15269888+0 records in 15269888+0 records out 7818182656 bytes (7.8 GB, 7.3 GiB) copied, 2434.71 s, 3.2 MB/s |
之后把这个 img 文件,复制到电脑,然后用工具将它写入 U盘,之后插到 emmc 里面同样是 armbian 的N1上,结果开机后进入的还是 emmc 里的系统。但是通过 fdisk -l 发现,boot 分区是在U盘里的。也就是说,N1是从U盘读取启动文件,然后启动 emmc 里面的系统,不知道 emmc 里是其它系统时,是否就能从 U盘启动系统?
「真诚赞赏,手留余香」
真诚赞赏,手留余香
使用微信扫描二维码完成支付