Coincidence! I also just switched from AMD to Intel, last week, after many years. I also experienced no boot scenarios. I finally did manage to boot the old OS (Mandriva2011) and now everything is perfect, including GL 3D acceleration and embedded netcard.
On top of motherboard changes I also changed hard disk scsi ordering, which made everything harder -- but not too hard, and still fun.
Basically you need to check the following things in boot order, and as you fix each one you'll be able to see new informative error messages during boot.
Actually, I should mention that I installed a new OS on the new First Disk on the new MB, to be able to easily edit my old OS files from it. But if you are not installing a new OS you can still pretty much do the same things with a Live OS instead, only less comfortably, especially if you have to connect to the internet to get new RPMS.
1. Grub. I had both Grub1 (legacy) and Grub2 installed, with Grub1 being invoked first. Assuming you also have Grub1 first, you need to make sure /boot/grub/menu.lst correctly references the files needed. In each "stanza", under the title line there is a kernel and an initrd line. Make sure they both refer to the correct disk in your new configuration. Since my old root partition was on the 3rd disk (hd2 in Grub1 parlance -- WARNING: I think this would be hd3 in Grub2!) which is now my 2nd disk in my new configuration, I had to change (hd2,7) to (hd1,7) with my editor (vim of course:).
You also need to make sure the two UUID references are correct. The root=UUID was the same, but the resume=UUID, which IS REALLY ONLY JUST THE SWAP PARTITION, probably lives on your OLDEST disk (major design blunder -- an ancient 80GB disk in my case), so make sure it still exists in your new config, or better, change it to an existing swap partition, preferably in the same boot disk (debugging this cost me a major blood pressure spike). Use blkid to get the correct UUIDs, and fdisk -l to get a good picture of your partitions, including swap.
Remenber to always backup all files you modify.
2. The kernel. Grub refers to two files which must be correct for your new config: kernel and initrd. Under Linux the kernel should boot even if the hardware is not exactly right. You may have to add xdriver=vesa or acpi=off or noapic or nolapic and similar to get it to boot al least to runlevel 1. Or you may try erasing /etc/modprobe.conf if you think attempting to load one of its modules crashes the kernel. I simply copied my new OS's modprobe.conf to the old OS partition. This micro howto does not cover rebuilding the kernel which is probably not necessary.
3. Initrd. You probably have to rebuild /boot/initrdYY, which is a temporary filesystem the kernel needs to boot. You will have to do it again in step 5. In this step use mkinitrd with the "-A" option to include all possible modules in it, including your new Intel ones. Later redo it without the "-A" to create a more normal initrd. Obviously the old system doesn't boot yet and you need to simulate running it on your live OS or new OS (my case). Use chroot, taking care to properly mount your new virtual fs' on top of your old virtual fs mount points. Assuming your old OS lives in /dev/sdXX, do the following, after saving your old initrd:
- Code: Select all
# mkdir /mnt/oldOs
# mount /dev/sdXX /mnt/oldOs
# mount --bind /proc /mnt/oldOs/proc
# mount --bind /dev /mnt/oldOs/dev
# mount --bind /sys /mnt/oldOs/sys
# chroot /mnt/oldOs
# chroot /mnt/oldOs mkinitrd -A
Tip: you can look inside your mkinitrd and change anything in it, like /etc/modprobe.conf or /etc/fstab. Assuming you have a /boot/initrd-YY.img, do:
- Code: Select all
# cd /mnt/oldOs/boot
# mv initrd-YY.img initrd-YY-OLD.img # safety backup
# file initrd-YY-OLD.img # 2 cases: either it's a gzip or a xz formatted file
# mkdir tmp
# cd tmp
...CASE 1: the file command above reports that initrd-YY.img is a gzip file
- Code: Select all
# cp ../initrd-YY-OLD.img ../initrd-YY-OLD.gz
# gunzip ../initrd-YY-OLD.gz
# cpio -id < ../initrd-YY-OLD
# # make your changes here, then repack initrd
# find . | cpio --create --format='newc' >../initrd-YY # NEW
# cd ..
# gzip initrd-YY
# mv initrd-YY.gz initrd-YY.img
...CASE 2: it's an xz compressed file. Same difference.
- Code: Select all
# cp ../initrd-YY-OLD.img ../initrd-YY-OLD.xz
# unxz ../initrd-YY-OLD.xz
# cpio -id < ../initrd-YY-OLD
# # make your changes here, then repack initrd
# find . | cpio --create --format='newc' >../initrd-YY # NEW
# cd ..
# xz initrd-YY
# mv initrd-YY.xz initrd-YY.img
4. fstab. Fix /etc/fstab so it uses the correct UUIDS, same as /boot/grub/menu.lst. Check with blkid. If same UUIDs no longer exist, especially old swaps (verify with blkid), comment them out otherwise the boot sequence will stop with a message mentioning RAID and other fs stuff.
5. When you finally manage to boot to text mode, redo the mkinitrd step (without the -A) which should clean up remaining issues and reboot again.
Conclusion: it's less complicated and more fun than it seems because you don't have to do a whole bunch of magical incantations and cross your fingers while rebooting. Instead, you simply launch your live OS or, better, a newly installed OS (Mga 3 alpha 3 perhaps

) and leisurely mount your oldOs. You can even install new RPMS in chroot /mnt/oldOs and similar zombie control feats.
Worth mentioning: you can also try to run your oldOs in VirtualBox now that raw disk mode is supported, but you still have to do some of the manual surgery above.