Ubuntu备份与恢复 - qingkong1998/ios GitHub Wiki
根据以上文章,安装好系统,备份/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