如何使用转储和还原来“克隆”Linux OS驱动器

时间:2016-05-27 16:46:10

标签: linux clone restore dump

您可以在线找到大量有关使用dd克隆操作系统驱动器的信息。

别听!使用dumprestore要快得多,因为您只复制数据,而不是复制所有块(空或不复制)。

第1部分:了解源设备列表和目标驱动器在设备列表中的位置

lsscsi | grep sd*

将显示scsi设备及其相关字母的列表。如果您足够幸运能够使用热插拔盒,那么您可以在插入驱动器之前和之后运行该命令 - 当然,最新显示的设备是您刚刚插入的驱动器。 / p>

第2部分:准备转储

  1. 安全提示:为目标设备和源设备分配变量。 (另外,如果您不止一次这样做,变量化允许您重复使用命令。)
  2. SOURCE=/dev/sdx DEST=/dev/sdy

    1. 关于源驱动器的注释(您要复制的驱动器)。如果要复制当前的OS驱动器,它将(duh)已经安装。如果要复制其他驱动器,则实际上不需要安装。
    2. 将源驱动器的分区表复制到文件中: sfdisk -d $SOURCE > part_table

    3. 复制已存储在文件中的part_table sfdisk --force $DEST < part_table

    4. 将引导扇区清零:dd if=/dev/zero of=${DEST}1 bs=512 count=1

    5. 制作文件系统(一次一个分区): mkfs -t ext4 ${DEST}1 mkswap ${DEST}2

    6. 看看:parted $DEST --script print

    7. 复制所有非交换分区的标签。示例:tune2fs -L "/" /${DEST}1

    8. 第3部分:转储|恢复时刻

      1. 创建一个目录来安装转储的目标设备恢复。 (如上所述,无需安装源设备。) mkdir -p /mnt/${DEST}1
      2. 挂载目标设备:mount -t ext4 ${DEST}1 /mnt/${DEST}1

      3. cd进入挂载点:cd /mnt/${DEST}1

      4. 转储和恢复:dump -a0f - /dev/${SOURCE}1 | restore -rf -转储标志: a = autosize; 0(零)=从第0块开始; f =文件, - = stdout; 恢复标志: r = rebuild; f = file ; - = stdout)

      5. dump | restore应该只需几分钟。

      6. 第4部分:使用grub将引导加载程序安装到克隆的驱动器上

        1. 假设您正在复制操作系统驱动器(即启动盒子的驱动器),则需要安装启动加载程序。

        2. 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
          

0 个答案:

没有答案