作者ringballer (.)
看板Linux
标题[心得] rsync备份系统以及grub重新安装
时间Wed Mar 3 21:40:02 2021
原来的系统硬碟怪怪的,又有not start from physical sectors问题。
怕重新开机後开不了,以及想用新的分割,网路找到最佳方案似乎是用
rsync做系统移动。使用的OS是fedora21,以下是操作过程。
#Issue: some original OS SSD partitions do not start from physical sectors
and encounter failing probability. This may comes from direct system backup
using clonezilla from 256G SSD to 500G SSD
# Original SSD has 3 primary partitions, 1 extended partition, 1 logical
partition. New goal is to eliminate sector alignment issue and to
re-partition SSD
#Step A: partition new Disk
#Step A.1: make disk label as msdos
parted /dev/sdX mklabel msdos # (it seems gpt partition cannot work as
bootable device)
#Step A.2: partition new disk with parted.
#(This step could also be done with fdisk)
parted /dev/sdX mkpart primary 1M 1G # creat /boot
parted /dev/sdX mkpart primary 1G 3G # creat swap
parted /dev/sdX mkpart primary 3G 99% # creat /
parted /dev/sdX mkpart primary 99% 100% # creat /home
#Step A.3: assign bootable partition
parted /dev/sdX set 1 boot on # make /dev/sdX1 bootable
Step A.4: format partitions and make swap
mkfs -t ext4 /dev/sdX1
mkswap /dev/sdX2
mkfs -t ext4 /dev/sdX3
mkfs -t ext4 /dev/sdX4
#Step B: Assign Old UUIDs into new Disk
#Step B.1: Show All UUIDs
blkid
#Step B.2: Update All UUIDs in new Disk
tunefs2 -U Old_bootPartion_UUID /dev/sdX1
mkswap -U Old_swapPartition_UUID /dev/sdX2
tunefs2 -U Old_rootPartition_UUID /dev/sdX3
tunefs2 -U Old_homePartition_UUID /dev/sdX4
#Step C:mount new Disk partions in /mnt
mount /dev/sdX3 /mnt
mount /dev/sdX1 /mnt/boot
mount /dev/sdX4 /mnt/home
#Step D:synchronize all system. Sometimes /boot must be
synchronize seperately
rsync -aAxHAX --progress /
--exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*",
"/media/*","/lost+found"} /mnt
#Step E:grub install
#Step E.1: grub install in new disk. Without this step,
BIOS could not identify new Disk as bootable device
grub2-install --boot-directory=/mnt/boot /dev/sdX
#Step E.2 make grub configurations
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
chroot /mnt
dracut -f #(Without this step, dracut could keep searching old disk
settings in booting process)
grub2-mkconfig -o /boot/grub2/grub.cfg
# after chroot /mnt, system regard /mnt/boot as /boot.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 150.116.204.152 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1614778804.A.104.html
1F:推 ucrxzero: 为什麽不止备份资料碟就好03/04 14:01
2F:→ ucrxzero: 还要用dracut 跟grub粉麻烦 03/04 14:01
3F:→ ringballer: 其实已经有分别用dd跟rsync备两份到资料碟了03/04 16:29
4F:→ ringballer: dd还原是我恶搞不成後的最後手段03/04 16:31
5F:→ ringballer: 为了debug 跟bypass physical sector issue03/04 16:34
6F:→ ringballer: clonezilla我只好舍弃不用03/04 16:34
7F:→ ringballer: 最後采取这种绕了一大圈的rsync+grub install,在原系 03/04 16:42
8F:→ ringballer: 统重开机前,把系统备份到新系统碟 03/04 16:42
※ 编辑: ringballer (150.116.204.152 台湾), 03/04/2021 21:19:06
9F:推 ucrxzero: bypass 是啥意思 坏掉的磁区直接改成\0ㄇ 03/04 23:03
10F:→ ringballer: 在新系统碟用新partition装旧系统而已 03/05 01:57
11F:推 holishing: Fedora 21... 为什麽不乾脆直接用 CentOS 7 @@ 03/05 16:34
12F:→ holishing: 还是那是原本的系统XD 03/05 16:35
13F:推 randy061: 这招会用,很多问题皆可解 03/20 19:58