您可以在线找到大量有关使用dd
克隆操作系统驱动器的信息。
别听!使用dump
和restore
要快得多,因为您只复制数据,而不是复制所有块(空或不复制)。
第1部分:了解源设备列表和目标驱动器在设备列表中的位置
lsscsi | grep sd*
将显示scsi设备及其相关字母的列表。如果您足够幸运能够使用热插拔盒,那么您可以在插入驱动器之前和之后运行该命令 - 当然,最新显示的设备是您刚刚插入的驱动器。 / p>
第2部分:准备转储
SOURCE=/dev/sdx
DEST=/dev/sdy
将源驱动器的分区表复制到文件中:
sfdisk -d $SOURCE > part_table
复制已存储在文件中的part_table
sfdisk --force $DEST < part_table
将引导扇区清零:dd if=/dev/zero of=${DEST}1 bs=512 count=1
制作文件系统(一次一个分区):
mkfs -t ext4 ${DEST}1
mkswap ${DEST}2
看看:parted $DEST --script print
复制所有非交换分区的标签。示例:tune2fs -L "/" /${DEST}1
第3部分:转储|恢复时刻
mkdir -p /mnt/${DEST}1
挂载目标设备:mount -t ext4 ${DEST}1 /mnt/${DEST}1
cd
进入挂载点:cd /mnt/${DEST}1
转储和恢复:dump -a0f - /dev/${SOURCE}1 | restore -rf -
(转储标志: a = autosize; 0(零)=从第0块开始; f =文件, - = stdout; 恢复标志: r = rebuild; f = file ; - = stdout)
dump | restore
应该只需几分钟。
第4部分:使用grub将引导加载程序安装到克隆的驱动器上
假设您正在复制操作系统驱动器(即启动盒子的驱动器),则需要安装启动加载程序。
Grub将磁盘标识为hd#,从0(NOT 1)开始。对应很简单:/ dev / sda = hd0,/ dev / sdb = hd1等。
[root@drive-toaster /]# grub
grub> root (hd1,0) # use correct number for your disk!
root (hd1,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd1) # use correct number for your disk!
setup (hd1)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd1)"... 27 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd1) (hd1)1+27 p
(hd1,0)/boot/grub/stage2 /boot/grub/grub.conf"... succeeded
Done.
grub> quit