Ubuntu备份与恢复 - qingkong1998/ios GitHub Wiki

ubuntu系统备份还原到相同电脑、另一台电脑

根据以上文章,安装好系统,备份/etc/fstab文件,然后修改好/boot/grub/grub.cfg,其中的UUID要与fstab中一致!

以下是grub.cfg

DO NOT EDIT THIS FILE

请把c7142b0b-d3d7-4a72-ba15-44bda3b809b1替换成自己的/分区的UUID,把6eadda67-141b-4c66-8f10-a1180ac52ede替换成自己/boot分区的UUID!

It is automatically generated by grub-mkconfig using templates

from /etc/grub.d and settings from /etc/default/grub

BEGIN /etc/grub.d/00_header

if [ -s $prefix/grubenv ]; then set have_grubenv=true load_env fi if [ "${initrdfail}" = 2 ]; then set initrdfail= elif [ "${initrdfail}" = 1 ]; then set next_entry="${prev_entry}" set prev_entry= save_env prev_entry if [ "${next_entry}" ]; then set initrdfail=2 fi fi if [ "${next_entry}" ] ; then set default="${next_entry}" set next_entry= save_env next_entry set boot_once=true else set default="0" fi

if [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" else menuentry_id_option="" fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then set saved_entry="${prev_saved_entry}" save_env saved_entry set prev_saved_entry= save_env prev_saved_entry set boot_once=true fi

function savedefault { if [ -z "${boot_once}" ]; then saved_entry="${chosen}" save_env saved_entry fi } function initrdfail { if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then if [ -z "${initrdfail}" ]; then set initrdfail=1 if [ -n "${boot_once}" ]; then set prev_entry="${default}" save_env prev_entry fi fi save_env initrdfail fi; fi } function recordfail { set recordfail=1 if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi } function load_video { if [ x$feature_all_video_module = xy ]; then insmod all_video else insmod efi_gop insmod efi_uga insmod ieee1275_fb insmod vbe insmod vga insmod video_bochs insmod video_cirrus fi }

if [ x$feature_default_font_path = xy ] ; then font=unicode else insmod part_msdos insmod ext2 set root='hd0,msdos5' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 c7142b0b-d3d7-4a72-ba15-44bda3b809b1 else search --no-floppy --fs-uuid --set=root c7142b0b-d3d7-4a72-ba15-44bda3b809b1 fi font="/usr/share/grub/unicode.pf2" fi

if loadfont $font ; then set gfxmode=auto load_video insmod gfxterm set locale_dir=$prefix/locale set lang=zh_CN insmod gettext fi terminal_output gfxterm if [ "${recordfail}" = 1 ] ; then set timeout=30 else if [ x$feature_timeout_style = xy ] ; then set timeout_style=hidden set timeout=10

Fallback hidden-timeout code in case the timeout_style feature is

unavailable.

elif sleep --interruptible 10 ; then set timeout=0 fi fi

END /etc/grub.d/00_header

BEGIN /etc/grub.d/05_debian_theme

set menu_color_normal=white/black set menu_color_highlight=black/light-gray

END /etc/grub.d/05_debian_theme

BEGIN /etc/grub.d/06_ubuntukylin_theme

insmod part_msdos insmod ext2 set root='hd0,msdos5' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 c7142b0b-d3d7-4a72-ba15-44bda3b809b1 else search --no-floppy --fs-uuid --set=root c7142b0b-d3d7-4a72-ba15-44bda3b809b1 fi insmod gfxmenu loadfont ($root)/usr/share/grub/themes/UKUI/unifont-regular-16.pf2 insmod png set theme=($root)/usr/share/grub/themes/UKUI/theme.txt export theme

END /etc/grub.d/06_ubuntukylin_theme

BEGIN /etc/grub.d/10_linux

function gfxmode { set gfxpayload="${1}" if [ "${1}" = "keep" ]; then set vt_handoff=vt.handoff=1 else set vt_handoff= fi } if [ "${recordfail}" != 1 ]; then if [ -e ${prefix}/gfxblacklist.txt ]; then if hwmatch ${prefix}/gfxblacklist.txt 3; then if [ ${match} = 0 ]; then set linux_gfx_mode=keep else set linux_gfx_mode=text fi else set linux_gfx_mode=text fi else set linux_gfx_mode=keep fi else set linux_gfx_mode=text fi export linux_gfx_mode menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-c7142b0b-d3d7-4a72-ba15-44bda3b809b1' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 set root='hd0,msdos3' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 6eadda67-141b-4c66-8f10-a1180ac52ede else search --no-floppy --fs-uuid --set=root 6eadda67-141b-4c66-8f10-a1180ac52ede fi linux /vmlinuz-4.18.0-10-generic root=UUID=c7142b0b-d3d7-4a72-ba15-44bda3b809b1 ro locale=zh_CN quiet splash $vt_handoff initrd /initrd.img-4.18.0-10-generic } submenu 'Ubuntu 高级选项' $menuentry_id_option 'gnulinux-advanced-c7142b0b-d3d7-4a72-ba15-44bda3b809b1' { menuentry 'Ubuntu,Linux 4.18.0-10-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-10-generic-advanced-c7142b0b-d3d7-4a72-ba15-44bda3b809b1' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 set root='hd0,msdos3' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 6eadda67-141b-4c66-8f10-a1180ac52ede else search --no-floppy --fs-uuid --set=root 6eadda67-141b-4c66-8f10-a1180ac52ede fi echo '载入 Linux 4.18.0-10-generic ...' linux /vmlinuz-4.18.0-10-generic root=UUID=c7142b0b-d3d7-4a72-ba15-44bda3b809b1 ro locale=zh_CN quiet splash $vt_handoff echo '载入初始化内存盘...' initrd /initrd.img-4.18.0-10-generic } menuentry 'Ubuntu, with Linux 4.18.0-10-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-10-generic-recovery-c7142b0b-d3d7-4a72-ba15-44bda3b809b1' { recordfail load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 set root='hd0,msdos3' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 6eadda67-141b-4c66-8f10-a1180ac52ede else search --no-floppy --fs-uuid --set=root 6eadda67-141b-4c66-8f10-a1180ac52ede fi echo '载入 Linux 4.18.0-10-generic ...' linux /vmlinuz-4.18.0-10-generic root=UUID=c7142b0b-d3d7-4a72-ba15-44bda3b809b1 ro recovery nomodeset locale=zh_CN echo '载入初始化内存盘...' initrd /initrd.img-4.18.0-10-generic } }

END /etc/grub.d/10_linux

BEGIN /etc/grub.d/20_linux_xen

END /etc/grub.d/20_linux_xen

BEGIN /etc/grub.d/20_memtest86+

menuentry 'Memory test (memtest86+)' { insmod part_msdos insmod ext2 set root='hd0,msdos3' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 6eadda67-141b-4c66-8f10-a1180ac52ede else search --no-floppy --fs-uuid --set=root 6eadda67-141b-4c66-8f10-a1180ac52ede fi knetbsd /memtest86+.elf } menuentry 'Memory test (memtest86+, serial console 115200)' { insmod part_msdos insmod ext2 set root='hd0,msdos3' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 6eadda67-141b-4c66-8f10-a1180ac52ede else search --no-floppy --fs-uuid --set=root 6eadda67-141b-4c66-8f10-a1180ac52ede fi linux16 /memtest86+.bin console=ttyS0,115200n8 }

END /etc/grub.d/20_memtest86+

BEGIN /etc/grub.d/30_os-prober

menuentry 'Windows 7 (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-C14D581BDA18EBFA' { insmod part_msdos insmod ntfs set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 6eadda67-141b-4c66-8f10-a1180ac52ede else search --no-floppy --fs-uuid --set=root 6eadda67-141b-4c66-8f10-a1180ac52ede fi parttool ${root} hidden- chainloader +1 } set timeout_style=menu if [ "${timeout}" = 0 ]; then set timeout=10 fi

END /etc/grub.d/30_os-prober

BEGIN /etc/grub.d/30_uefi-firmware

END /etc/grub.d/30_uefi-firmware

BEGIN /etc/grub.d/40_custom

This file provides an easy way to add custom menu entries. Simply type the

menu entries you want to add after this comment. Be careful not to change

the 'exec tail' line above.

END /etc/grub.d/40_custom

BEGIN /etc/grub.d/41_custom

if [ -f ${config_directory}/custom.cfg ]; then source ${config_directory}/custom.cfg elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then source $prefix/custom.cfg; fi

END /etc/grub.d/41_custom