转自[url]http://www.lpfrx.com/archives/137/[/url],可行性:未测试过
前天在Vmware里尝试把系统复制到另一硬盘的实验,实现了Linux的系统备份, 或者说是复制系统吧,我没用使用ghost或者dd, 我Vmware里的Linux系统是Debian, 分了三个区的 , 另外,不支持lvm .
脚本copyos.sh源码
在上述操作完成后,然后还要修改menu.list和fstab, 而有的linux系统没有menu.list的话,就修改grub.conf
编辑 /mnt/new/boot/grub/menu.list,更改:
kernel /vmlinuz… ro root=LABEL=/ ==> kernel /vmlinuz… ro root=/dev/hda1
编辑 /mnt/new/etc/fstab,更改:
LABEL=/ ==> /dev/hda1
其实以上操作要根据linux系统的不同mount而进行修改, Debian的是这样的, 以后linux的复制系统或者说是备份系统就方便了.
上边的 +10240M是第1分区的,+512M是swap交换区的,然后剩余空间作为第三区
如果以后就有什么发现,就继续在这篇文章补上.
相关话题:
linux系统备份tar压缩成功
Tag:
前天在Vmware里尝试把系统复制到另一硬盘的实验,实现了Linux的系统备份, 或者说是复制系统吧,我没用使用ghost或者dd, 我Vmware里的Linux系统是Debian, 分了三个区的 , 另外,不支持lvm .
#!/bin/bash
# 无聊空间 http://www.lpfrx.com 制作
disk='/dev/hdb'
# 格式化
echo -e "fdisk \\033[1;32m$disk\\033[0;39m now..."
dd if=/dev/zero of=$disk bs=1 count=64 seek=446 &>/dev/null
# 自动分区, 分了三个区
/sbin/fdisk <<EOF
n
p
1
+10240M
n
p
2
+512M
n
p
3
a
1
t
2
82
w
EOF
mke2fs -j /dev/hdb1
mke2fs -j /dev/hdb3
mkswap /dev/hdb2
rm -r /mnt/newos
mkdir /mnt/newos
/bin/mount /dev/hdb1 /mnt/newos
/bin/mkdir /mnt/newos/home
/bin/mount /dev/hdb3 /mnt/newos/home
cd /
/bin/cp -a /cdrom /mnt/newos
/bin/cp -a /home/* /mnt/newos/home/
/bin/cp -a /lib /mnt/newos
/bin/cp -a /root /mnt/newos
/bin/cp -a /var /mnt/newos
/bin/cp -a /bin /mnt/newos
/bin/cp -a /dev /mnt/newos
/bin/cp -a /initrd /mnt/newos
/bin/cp -a /opt /mnt/newos
/bin/cp -a /sbin /mnt/newos
/bin/cp -a /tmp /mnt/newos
/bin/cp -a /vmlinuz /mnt/newos
/bin/cp -a /boot /mnt/newos
/bin/cp -a /etc /mnt/newos
/bin/cp -a /initrd.img /mnt/newos
/bin/cp -a /media /mnt/newos
/bin/cp -a /srv /mnt/newos
/bin/cp -a /usr /mnt/newos
/bin/cp -a /home/copydir/fstab /mnt/newos/etc
mkdir /mnt/newos/proc
# 如果系统含有selinux,就需要以下这句
#mkdir /mnt/newos/selinux
mkdir /mnt/newos/sys
mkdir /mnt/newos/mnt
#安装grub
cd /mnt/newos
chroot /mnt/newos<<EOF
grub<<EOF
root (hd1,0)
setup (hd1)
quit
EOF
/bin/touch /.autorelabel
exit
EOF
脚本copyos.sh源码
在上述操作完成后,然后还要修改menu.list和fstab, 而有的linux系统没有menu.list的话,就修改grub.conf
编辑 /mnt/new/boot/grub/menu.list,更改:
kernel /vmlinuz… ro root=LABEL=/ ==> kernel /vmlinuz… ro root=/dev/hda1
编辑 /mnt/new/etc/fstab,更改:
LABEL=/ ==> /dev/hda1
其实以上操作要根据linux系统的不同mount而进行修改, Debian的是这样的, 以后linux的复制系统或者说是备份系统就方便了.
上边的 +10240M是第1分区的,+512M是swap交换区的,然后剩余空间作为第三区
如果以后就有什么发现,就继续在这篇文章补上.
相关话题:
linux系统备份tar压缩成功
Tag: