Skip to main content

Triple boot Linux, Windows 7 and Windows 8 RTM

I wanted to have a triple boot computer - why? don't ask me why! Oh, ok, I'll tell you - I needed Windows 7 for some current work and didn't want to mess up the install. I wanted to install Windows 8 so I could play with the metro style app development that I've seen floating around and of course, I like my Linux system for my ruby web development.

So - here's the rough steps without a specific walk through of each one, except for reinstalling grub, which is really the crucial step to getting everything to hum and purr along nicely. The caveat is that this worked for me, on my system, it might not work on yours - so take precautions, backup, verify backup, store a backup off-site - you know the drill, I shouldn't need to tell you.:

1) Install Windows 7 Easy enough, follow the prompts and pop Windows 7 on your machine.

2) Install Linux Choose your flavour - I've got Mint up and running, but go for Ubuntu if you prefer. Actually, go for pretty much whatever you want. Ubuntu and Mint will give you a nice trouble-free install of Grub to dual boot your system. It should work out of the box.

3) Create a VHD in Windows 7 and use that space to install Windows 8. Check out Scott Hanselman's great blog posts on this because it takes you through in detail what you need to do. Pay attention, because it's subtle (How to guide to installing and booting windows 8 consumer preview off a VHD and Guide to booting windows 8 developer preview of a VHD)

4) Boot up into Windows 8. Crap your pants a little as you notice the Windows 8 boot loader has made your Linux install disappear.

5) Boot to Linux with a live CD and re-install Grub manually. This is fairly simple - once booted, bring up a terminal and do the following (obviously, you need to know your partition number that you've got your linux install on - mine's sda6 - I have sda1 and sda2 as system recovery and windows recovery, sda3 as my Windows install, sda4 is a logical partition, sda5 is swap, sda6 is my actual Linux mint):
sudo mount /dev/sda6 /mnt
sudo grub-install -root-directory=/mnt/ /dev/sda
Note that the second line has the number left off the "sda" on purpose. PAY ATTENTION!

6) Re-boot - you should have options for Linux and Windows 7 again. On my system, selecting Windows 7 takes me to the Windows 8 bootloader from whence I can choose either Windows 7 or Windows 8 for boot.

Now this isn't perfect, because I have 2 boot menus, but you know what? It will do for now.

Comments

Popular posts from this blog

Getting started with Ruby on Rails 3.2 and MiniTest - a Tutorial

For fun, I thought I would start a new Ruby on Rails project and use MiniTest instead of Test::Unit. Why? Well MiniTest is Ruby 1.9s testing framework dejour, and I suspect we will see more and more new projects adopt it. It has a built in mocking framework and RSpec like contextual syntax. You can probably get away with fewer gems in your Gemfile because of that. Getting started is always the hardest part - let's jump in with a new rails project rails new tddforme --skip-test-unit Standard stuff. MiniTest sits nicely next to Test::Unit, so you can leave it in if you prefer. I've left it out just to keep things neat and tidy for now. Now we update the old Gemfile: group :development, :test do gem "minitest" end and of course, bundle it all up.....from the command line: $ bundle Note that if you start experiencing strange errors when we get in to the generators later on, make sure you read about rails not finding a JavaScript runtime . Fire up...

Rails 3.2, MiniTest Spec and Capybara

What do you do when you love your spec testing with Capybara but you want to veer off the beaten path of Rspec and forge ahead into MiniTest waters? Follow along, and you'll have not one, but two working solutions. The setup Quickly now, let's throw together an app to test this out. I'm on rails 3.2.9. $ rails new minicap Edit the Gemfile to include a test and development block group :development, :test do gem 'capybara' gem 'database_cleaner' end Note the inclusion of database_cleaner as per the capybara documentation And bundle: $ bundle We will, of course, need something to test against, so for the sake of it, lets throw together a scaffold, migrate our database and prepare our test database all in one big lump. If you are unclear on any of this, go read the guides . $ rails g scaffold Book name:string author:string $ rake db:migrate $ rake db:test:prepare Make it minitest To make rails use minitest , we simply add a require ...

Poor person's guide to managing Ruby versions

Understanding the guts of Ruby Version Management by rolling your own I've been tinkering with a fresh install of Ubuntu 12.10, setting up a nice clean development environment. One of the first things to do, of course, is implement some sort of Ruby version management. RVM and rbenv seem to be the clear winners in this arena, though there are a lot of tools out there that do a similar job . Writing your own version management for your Rubies isn't actually all that difficult. At it's core, we need need two things: A way to segregate the executables of the various versions A way to call the versions at will Segregating versions is trivial - working with files and folders, we can put the various versions into named directories. Actually executing our different versions is not all that difficult either. One way would be to create aliases with version numbers and explicitly call those when we want to use them. The more popular way, however, is to manipulate our PATH ...