I found out, that this answer didnt solve my problem. Let me describe it carefully:
** Problem: Need to TARBALL BACKUP a old Laptop with old Hardware, and restore the entire OS onto a new laptop with LVM Enabled **
Here are my steps, but they DO NOT WORK if your laptop backup has a different kernel then the one that came on the Ubuntu CD (In other words I can only boot into the kernel in the tarball, to mount the lvm, but the other kernels will not work)
To backup: (MAKE SURE YOUR VERSION OF LINUX IS ONE LESS THAN THE LATEST IN THE DIST UGPRADE :(...)
- BOOT INTO RECORVERY (HOLD SHIFT FOR GRUB OPTIONS on bootup)
boot into recovery (use the grub recovery option, or single mode)
unmount all harddrives other than sda1 which has your root OS
2.
cd /
sudo tar cvpzf backup.tgz --exclude=/proc --exclude=/dev --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /
To restore:
0. Install a fresh Ubuntu (even the server or alternate cd with lvm WILL WORK WITH THIS). Do a regular install, settings dont matter because we will wipe it all away.
- BOOT INTO RECORVERY (HOLD SHIFT FOR GRUB OPTIONS on bootup)
2.
backup your /boot carefully just in case!!! I do: cd /boot; mkdir ORIG.BOOT; mv * ORIG.boot;
cd /
sudo tar xvfpz backup.tgz -C /
3.
THEN REVERT BACK TO YOUR ORINGAL BOOT (remember to MV not just tar ok???? and make sure the vmlinuz and initrd of the both are merged. and if u want its ok to... merge the grub.cfg too
After it boots if you dont have sound or network run:
sudo add-apt-repository ppa:ubuntu-audio-dev
sudo apt-get update
sudo apt-get --reinstall dist-upgrade
I tried this but it will only work with my old kernel in /boot, none of the new kernels (even after dist-upgrade will boot into the lvm properly)
Here is my grub.cfg, why doesnt it work?
#
DO NOT EDIT THIS FILE
#
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
set default="0"
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 recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function 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 ; then
set gfxmode=auto
load_video
insmod gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 015c0470-4ba2-41aa-a140-181b1cc872c2
set locale_dir=($root)/boot/grub/locale
set lang=ja_JP
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=10
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/10_linux
function gfxmode {
set gfxpayload="$1"
if [ "$1" = "keep" ]; then
set vt_handoff=vt.handoff=7
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
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Ubuntu, with 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, with Linux 3.2.0-24-generic-pae (recovery mode)' --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 'Loading 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 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.2.0-24-generic-pae
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, with Linux 3.2.0-23-generic-pae --THIS IS THE ONLY KERNEL VERSION THAT WORKS' --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, with Linux 3.2.0-23-generic-pae (recovery mode) --THIS IS THE ONLY KERNEL VERSION THAT WORKS' --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 'Loading 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 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.2.0-23-generic-pae
}
}
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,msdos1)'
search --no-floppy --fs-uuid --set=root 015c0470-4ba2-41aa-a140-181b1cc872c2
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 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 console=ttyS0,115200n8
}
END /etc/grub.d/20_memtest86+
BEGIN /etc/grub.d/30_os-prober
if [ "x${timeout}" != "x-1" ]; then
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep --interruptible 3 ; then
set timeout=0
fi
fi
fi
END /etc/grub.d/30_os-prober
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 $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
END /etc/grub.d/41_custom
updatemanagerdoesnt work either. I cannot get software updates on ubuntu anymore... I wonder why :( – user96133 Oct 12 '12 at 1:48