1. 我有一台旧笔记本电脑,安装了 Ubuntu 12.04。(它是 ACER)
2. 我启动到单用户模式并通过以下方式备份
cd /
sudo -i
tar cvpzf backup.tgz --exclude=/proc --exclude=/dev --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /
3. 我在新笔记本电脑(戴尔)上安装了全新的 Ubuntu 1204
4. 我启动到单用户模式
5. 我备份现有的/boot
目录
6. 我解压备份以恢复到戴尔
sudo tar xvfpz backup.tgz -C /
7. 我恢复了之前的/boot
再次恢复之前的目录
8. 我启动它,我的配置文件和设置已正确加载,但 Ubuntu 显示没有声卡。我无法使用 unity 来拖动和更改音量。我注意到网卡也无法工作。
** 如果硬件已经为另一台笔记本电脑配置,如何让 ubuntu 识别已更改的硬件?有人知道吗?**
答案1
我发现这个答案并没有解决我的问题。让我仔细描述一下:
** 问题:需要对装有旧硬件的旧笔记本电脑进行 TARBALL 备份,并将整个操作系统恢复到启用了 LVM 的新笔记本电脑上 **
这是我的步骤,但如果您的笔记本电脑备份的内核与 Ubuntu CD 上的内核不同,则这些步骤将不起作用(换句话说,我只能启动 tarball 中的内核来挂载 lvm,但其他内核将不起作用)
备份:(确保您的 Linux 版本比 DIST UGPRADE 中的最新版本低一个:(...)
- 启动进入恢复系统(启动时按住 SHIFT 选择 GRUB 选项) 启动进入恢复系统(使用 grub 恢复选项,或单一模式) 卸载除 sda1 之外的所有硬盘(其中包含您的根操作系统)
2. cd / sudo tar cvpzf backup.tgz --exclude=/proc --exclude=/dev --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /
要恢复:0. 安装全新的 Ubuntu(即使带有 lvm 的服务器或备用 cd 也可以使用)。进行常规安装,设置无关紧要,因为我们将删除所有内容。
- 启动进入恢复系统(启动时按住 SHIFT 选择 GRUB 选项)
2. 小心备份你的 /boot 以防万一!!! 我这样做:cd /boot; mkdir ORIG.BOOT; mv * ORIG.boot; cd / sudo tar xvfpz backup.tgz -C /
3. 然后恢复到原始启动状态(记住要 MV 而不只是 tar 好吗?并确保两者的 vmlinuz 和 initrd 已合并。如果您愿意,也可以合并 grub.cfg
启动后如果没有声音或网络,请运行:sudo add-apt-repository ppa:ubuntu-audio-dev sudo apt-get update sudo apt-get --reinstall dist-upgrade
我尝试过,但它只能与 /boot 中的旧内核一起工作,不能与任何新内核一起工作(即使在 dist-upgrade 之后也能正确启动到 lvm)
这是我的 grub.cfg,为什么它不起作用?
#
请勿编辑此文件
#
它由 grub-mkconfig 使用模板自动生成
来自 /etc/grub.d 和 /etc/default/grub 中的设置
#
开始/etc/grub.d/00_header
如果 [ -s $prefix/grubenv ]; 则设置 have_grubenv=true load_env fi 设置 default="0" 如果 [ "${prev_saved_entry}" ]; 则设置 saved_entry="${prev_saved_entry}" save_env saved_entry 设置 prev_saved_entry= save_env prev_saved_entry 设置 boot_once=true fi
函数 savedefault { 如果 [ -z “${boot_once}” ]; 然后 saved_entry =“${chosen}” save_env saved_entry fi }
函数 recordfail { 如果 [ -n “${have_grubenv}” ],则设置 recordfail=1;如果 [ -z “${boot_once}” ],则 save_env recordfail;fi;fi }
函数 load_video { insmod vbe insmod vga insmod video_bochs insmod video_cirrus }
insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set=root 015c0470-4ba2-41aa-a140-181b1cc872c2 if loadfont /usr/share/grub/unicode.pf2 ;然后设置 gfxmode=auto load_video insmod gfxterm insmod part_msdos insmod ext2 设置 root='(hd0,msdos1)' 搜索 --no-floppy --fs-uuid --set=root 015c0470-4ba2-41aa-a140-181b1cc872c2 设置 locale_dir=($root)/boot/grub/locale 设置 lang=ja_JP insmod gettext fi terminal_output gfxterm 如果 [ "${recordfail}" = 1 ]; 然后设置 timeout=-1 否则设置 timeout=10 fi
结束/etc/grub.d/00_header
开始/etc/grub.d/05_debian_theme
设置菜单颜色正常=白色/黑色 设置菜单颜色高亮=黑色/浅灰色
结束/etc/grub.d/05_debian_theme
开始/etc/grub.d/10_linux
函数 gfxmode { 设置 gfxpayload="$1" 如果 [ "$1" = "keep" ]; 然后设置 vt_handoff=vt.handoff=7 否则设置 vt_handoff= fi } 如果 [ ${recordfail} != 1 ]; 然后如果 [ -e ${prefix}/gfxblacklist.txt ]; 然后如果 hwmatch ${prefix}/gfxblacklist.txt 3; 然后如果 [ ${match} = 0 ]; 然后设置 linux_gfx_mode=keep 否则设置 linux_gfx_mode=text fi 否则设置 linux_gfx_mode=text fi 否则设置 linux_gfx_mode=keep fi 否则设置 linux_gfx_mode=text fi 导出 linux_gfx_mode 如果 [ "$linux_gfx_mode" != "text" ]; 然后 load_video; fi menuentry ‘Ubuntu,带有 Linux 3.2.0-24-generic-pae’ --class ubuntu --class gnu-linux --class gnu --class os { recordfail gfxmode $linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 set root=‘(hd0,msdos1)’ search --no-floppy --fs-uuid --set=root 015c0470-4ba2-41aa-a140-181b1cc872c2 linux /boot/vmlinuz-3.2.0-24-generic-pae root=UUID=015c0470-4ba2-41aa-a140-181b1cc872c2 ro quiet splash $vt_handoff initrd /boot/initrd.img-3.2.0-24-generic-pae } menuentry 'Ubuntu,带有 Linux 3.2.0-24-generic-pae(恢复模式)' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod gzio insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set=root 015c0470-4ba2-41aa-a140-181b1cc872c2 echo '正在加载 Linux 3.2.0-24-generic-pae ...' linux /boot/vmlinuz-3.2.0-24-generic-pae root=UUID=015c0470-4ba2-41aa-a140-181b1cc872c2 ro recovery nomodeset echo '正在加载初始 ramdisk ...' initrd /boot/initrd.img-3.2.0-24-generic-pae } 子菜单“以前的 Linux 版本”{ 菜单条目‘Ubuntu,带有 Linux 3.2.0-23-generic-pae --这是唯一有效的内核版本’ --class ubuntu --class gnu-linux --class gnu --class os { recordfail gfxmode $linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set=root 015c0470-4ba2-41aa-a140-181b1cc872c2 linux /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=015c0470-4ba2-41aa-a140-181b1cc872c2 ro quiet splash $vt_handoff initrd /boot/initrd.img-3.2.0-23-generic-pae } menuentry 'Ubuntu,带有 Linux 3.2.0-23-generic-pae(恢复模式)——这是唯一有效的内核版本' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod gzio insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set=root 015c0470-4ba2-41aa-a140-181b1cc872c2 echo '正在加载 Linux 3.2.0-23-generic-pae ...' linux /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=015c0470-4ba2-41aa-a140-181b1cc872c2 ro recovery nomodeset echo '正在加载初始 ramdisk ...' initrd /boot/initrd.img-3.2.0-23-generic-pae } }
结束/etc/grub.d/10_linux
开始/etc/grub.d/20_linux_xen
结束/etc/grub.d/20_linux_xen
开始 /etc/grub.d/20_memtest86+
menuentry "内存测试 (memtest86+)" { insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set=root 015c0470-4ba2-41aa-a140-181b1cc872c2 linux16 /boot/memtest86+.bin } menuentry "内存测试 (memtest86+, 串行控制台 115200)" { insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set=root 015c0470-4ba2-41aa-a140-181b1cc872c2 linux16 /boot/memtest86+.bin控制台=ttyS0,115200n8 }
结束/etc/grub.d/20_memtest86+
开始/etc/grub.d/30_os-prober
如果 [ "x${timeout}" != "x-1" ]; 然后如果 keystatus; 然后如果 keystatus --shift; 然后设置 timeout=-1 否则设置 timeout=0 fi 否则如果 sleep --interruptible 3 ; 然后设置 timeout=0 fi fi fi
结束/etc/grub.d/30_os-prober
开始/etc/grub.d/40_custom
此文件提供了一种添加自定义菜单项的简单方法。只需键入
您要在此注释后添加的菜单项。请注意不要更改
上面的‘exec tail’行。
结束/etc/grub.d/40_custom
开始/etc/grub.d/41_custom
如果 [ -f $prefix/custom.cfg ]; 然后源 $prefix/custom.cfg; fi