Friday, April 9, 2010

Ubuntu Kaboom

Fun little difference between Windows and Linux: Windows crashes relatively frequently (generally speaking), but the crashes tend to be relatively minor. Linux almost never crashes (in my experience), but when it does, it crashes *HARD*. Today has been an object lesson in that.

Long story short, I discovered that Ubuntu has a quirk that can cause major problems. (I'm going to use broad generalizations in this next bit, so if I'm not 100% accurate, please forgive me.) The quirk is this: Ubuntu assigns a UUID (Universally Unique IDentifier) to the system hard drives, and references this UUID in the GRUB bootloader. For those unfamiliar with Linux, the bootloader is a bit of software that runs on startup that allows you to choose from a variety of bootup configurations (sorta like the screen you get after a Windows crash that asks you if you want to start normally or in safe mode). Unlike the Windows one, you can directly edit these boot options. This gives you much more control, but it also allows you to effectively shoot yourself in the foot, and take the leg with it.

The specific problem I encountered is that somehow the bootloader UUID and the UUID for my drive became mismatched, so it couldn't find the drive. Apparently the more traditional way to reference drives is through their /dev/ path (eg. /dev/sda1) instead of with the UUID, and a number of forums online suggested editing the bootloader to use the old method instead of the new. It took a good bit of time, a large number of reboots, and some fumbling around with the command line, but I finally worked out the proper path for my boot drive, got the OS booted up, and fixed the pathing in the GRUB configuration file.

I love doing my own tech support, and I feel like my understanding of how Linux works is incrementally more solid for the experience, but I'm thankful that it's fixed so I can get back to finishing out my film. I look forward to finishing out the year so I can tackle a number of things I'd like to do with my Ubuntu box. Some of the things I'm looking at trying: setting up a proper Samba server, learning advance SVN administration, setting up a domain server, setting up my own HTTP/FTP server, and getting my own dedicated Left4Dead1/2 server(s) up and running.

TL;DR version: Ubuntu screwed itself up. I fixed it. I want to do more with it in the future.

No comments: