Reinstalling Windows keeping GNU/Linux partition safe

Tested with:

  • Windows Vista
  • Ubuntu 9
  • (on the same disk, different partitions)

Today I’ve to reinstall Windows. I’ve already an installation of GNU/Linux (Ubuntu) on the same disk. I have to worry? In the past, I had to say a big YES. And since I do a Windows reinstall every 2-3 years, this carry back something from previous times.

(Please skip this paragraph.)

When I was a little boy, the best processor I was dreaming was Pentium 133Mhz, PCs were assembled in my country and my days was filled with Duke Nukem 3d and Lucas Arts adventures, well in that days I had a freaking fear to lose all my precious savegames and BASIC experiments due to a disaster. I discovered a real MBR disaster several years later, with Mandrake and Windows 98.

Well, now things are easier.

  1. Backup your files from Windows (Lucas Arts adventures savegames too…).
  2. Reinstall that crappy OS that you had to have to play some games to the partition that it deserves.
  3. After the operation Your Master Boot Record is gone, GRUB is gone. Linux, where are you??
  4. Download Super Grub2 Disk.
  5. Take an old CD-RW (that one with the photos of your sister kitten that she loves so much), erase it and burn the bootable iso on it.
  6. Now follow the instruction from the website. I’ve followed these steps:
  7. Select Detect any OS. On the next window, select your GNU/Linux distribution, identified by the kernel version (the more recent version is usually the right).
  8. Now that your distro is successfully running (i.e. Ubuntu), you have to rebuild the Grub bootloader, putting it on the MBR of the disk.
  9. Open a shell and type:
    sudo -i
    grub-install /dev/sda
    Where /dev/sda is the device for the disk where the two OS are. If you have doubt, use tools like gparted to inspect your disk searching for the right device identifier.
  10. After restart, Grub is running again! So Windows is reinstalled without even touching Ubuntu.

If you’re also interested on changing grub boot sequence order, follow this howto.

Change framebuffer resolution

While trying to update kernel in order to run Virtualbox, i got a weird resolution error. On OS boot, screen blanks with an error like “Resolution is beyond allowed limits”. Since this happens before GUI is loaded, Xorg is innocent. I’ve installed the 915resolution patch for a widescreen HP, but it’s innocent too.

Well, this is a framebuffer issue! To solve it I’ve followed these instructions on technobounce.

  • apt-get install hwinfo
  • hwinfo –framebuffer
  • Then make a backup copy of your /boot/grub/menu.lst and add to your kernel line vga=0x035a where 0x035a is the wanted resolution mode.