PART 2 Know the buzz-words:
Getting to know the terminology:
First of all: Here are some links I found useful and that can be looked up by those who want more details. You’ll find that many of these links point to each other, as they can be seen as references in its own right:
OpenSUSE’s own UEFI de-mystifier, simple and technically advanced at the same time. Truly a good starting point for further study:
https://en.opensuse.org/openSUSE:UEFI
Rod Smith’s excellent site about everything UEFI/GPT. This link enters somewhere “in the middle” of his site, but holds links to the other parts as well. Truly useful. His tool GPTFdisk (gdisk) is part of the OpenSUSE 12.3 distribution:
Booting from GPT
About ESP on WikiPedia:
EFI System partition - Wikipedia, the free encyclopedia
GRUB/GRUB2:
https://wiki.archlinux.org/index.php/GRUB
GUID Partition Table:
https://wiki.archlinux.org/index.php/GUID_Partition_Table
Some links from the Microsoft site. Since W8 may disturb dualbooting in its own favour, one can be helped by fixing things from the W8 side. Most of these evolve around Microsoft’s BCDEdit.exe, which is a tool that seems to be able to handle almost everything in the UEFI partition, but is terribly documented. “Terribly” in this case means it seems to be documented, but it is so scattered and cluttered, that it really takes time and effort to put it all together – and to get a clear overview of what the terms Microsoft is using really means in practical life. I haven’t done that yet, and it will have to wait until I run into a problem I can’t resolve in any other way, I am assigned a task that makes that sensible, or a rainy day when I lack other things to do.
Microsoft’s GPT FAQ, which lists a few dos and don’ts:
Windows and GPT FAQ
Windows 8 boot options:
Overview of Boot Options in Windows Vista and Later (Windows Drivers)
BCD Boot Option Reference:
BCD Boot Options Reference (Windows Drivers)
Editing Boot Options:
Editing Boot Options (Windows Drivers)
Using Boot Parameters
Using Boot Parameters (Windows Drivers)
BCDboot Command-Line Options
BCDboot Command-Line Options
BCDEDIT.EXE options:
BCDEdit Command-Line Options
What is GPT?
GPT is short for GUID (or UUID) PT which is short for Globally Unique ID Partition Table. This is replacing the old MBR (Master Boot Record) partitioning scheme which we are all accustomed to. This is inevitable due to the limitations of MBR. In practice and for the short term/immediate concequences, the most visible change is that GPT’s partitions are what is known in MBR as primary partitions, and that there can be (many) more than 4. (In fact, 128 partitions for a start – you can extend that). I.e my Asus S200E came with 6 primary partitions. The ESP partition is one of these, but this partition is not required on a GPT partitioned disk. On Windows GPT prepared disks, you will also find a small (mostly 128MB in size) MSR (=Microsoft Reserved) partition. As with MBR, only one GPT partition can be the System partition (the one that control is transferred to during the boot-process). In an UEFI-based system, this must be the ESP partition you want to control the proceedings.
What is UEFI?
Please see https://en.opensuse.org/openSUSE:UEFI
What is the MSR partition?
MSR (Microsoft Reserved partition) is a Microsoft specific, small, hidden (from within the OSes, but GPT does not allow for hidden partitions in the way MBR did), unformatted partition Microsoft require to be present on all its GPT partitioned disks. The size is 32MB for disk sizes below 16GB, 128MB for the bigger disks. Provided I haven’t misunderstood MS, MS (and probably also third-party SW components with the right requirement) will “erode” this partition into more partitions; i.e. if you repartition your drive in certain ways (“Dynamic disks”), thus adding more partitions to your drive. For the time being, there is a limited number of partitioners that can handle this partition. gdisk (included in OpenSUSE 12.3) is one, and Microsoft’s DiskPart.exe is an obvious alternative. Beware though, both of these have a different user interface from fdisk, so there is some “getting used to” involved. PartEd Magic’s live CD (2013-05-01 edition) will display and delete the MSR partition, but nothing else. So, if you want GPT partitioning and want to access these from both Windows and Linux, be sure to create an MSR partition as well when you first partition it.
See Microsoft’s GPT FAQ (see link above) if you want more details.
What is the ESP partition?
In an UEFI system, ESP (=EFI System Partition) is the partition that holds the boot-loaders that in turn loads the OS you want. The UEFI specification does not limit the number of ESP partitions on a disk, nor does it put restrictions on their positions, but only one can be marked System in the GPT at one time. The one marked System, will be the one controlling the boot process. The ESP partitions are FAT formatted (Windows 7 needs FAT32, my Windows 8 preinstallation file set also came with FAT32 formatted ESP partition for Windows 8 – I haven’t tried changing that).
The ESP partition: How many are needed, where, and how big should it be?
Different sources on the internet says different things. Microsft only support one such partition – and that partition needs to be on your boot disk. MS also recommends it to be the first partition on your disk. As for size, according to Rod Smith (see link above) Windows installers create 100MB ESP partitions, Macs create 200MB, while Linux utilities gets confused with FAT16/32 setups if partitions are smaller than 520MiB, so he recommends creating 550MiB for the ESP. My system came with a 300MB ESP partition.
A comment of mine on the 128 possible GPT partitions:
As this lifts the pressure from the 4 MBR partitions we have been struggling with for years, I look forward to see how this evolves. The immediate effect is obvious. However, resources available will be used, and I expect to see new and innovative ways of exploiting the now “endless” resource that the number of partitions is. Just see how fast we passed the 16MB limit of the IBM PCAT when we at last passed the 640KB memory limit of Intel Real Mode in IBM PCs. Microsoft’s way of using the MSR-partition gives us some pointers: We can expect to see many small partitions for special use. Maybe 128 partitions will end up to be a hurdle after all? No problem – we can just expand that, 128 partitions isn’t a limitation of the specification. Doing so, however, does include repartitioning of your disk – and Microsoft says “Windows implementation restricts this to 128 partitions” (see GPT FAQ in link above). So – in a dual-booting Windows/Linux system, 128 partitions may become a serious limitation sooner than we think – simply because nobody sees it as a problem the way 4 MBR partitions (almost) always were, and start creating partitions at a rate we’ve never seen before.
The BIOS/UEFI Firmware problem:
This is the one problem you and I cannot do much about apart from making the right choice when purchasing the PC. We are stuck with what the vendor provides. My reading on the ‘net indicate that there still are some differences here and there, and that some of them will not do in a dual boot Windows 8/Linux setup.
However, a computer that comes with Windows 8 factory installed, is certified (by Microsoft) to conform with UEFI-standards and secure boot. That should help. Also, OpenSUSE 12.3 64-bit edition do support UEFI-booting, secure-boot incuded.
Make sure, however, that you do upgrade your BIOS to the latest one published – even if you have a brand-new PC! Upgrading (anything) prior to properly starting to use it, has helped me many times over the years. By doing that, I have avoided many problems others have been banging their heads into.
In my case, the computer I bought Tuesday last week, seems to be manufactured in December 2012 (if I read the labels correctly). The latest BIOS (version 202) published, was dated October 26th 2012. I was surprised to see that my BIOS was version 203! As I am writing this, I see that more have happended on Asus’ support site: In the period of the last few days, they have been publishing several newer version of my BIOS, the latest one is dated yesterday – version 209. I still have work to do …
The bottom line is: If you purchase a PC that comes with Windows 8 factory installed, chances are good that your BIOS is up to the task of dualbooting into Linux. Other HW drivers however, is the same game as it has always been.
Secure boot: What is it, do I need it and what exactly does it provide?
Non-technically spoken, and a little inaccurate, this is a way to make sure that no one can modify the files involved in loading an OS without it being detected. If such modification is detected, booting will be interrupted. Such a mechanism makes it more difficult to sneak in viruses, root-kits etc. However, if you do run into problems (or you for some reason don’t want it), you can disable secure booting. That will enable booting without the modification-checks, and the OS will be loaded. To do its job, secure-boot involves X509 certificates, encryption and digital signatures, and protects OS-files until the kernel has been read and loaded. This is equal for Windows and OpenSUSE 12.3. If you want more details, see OpenSUSE’s UEFI demystifier link and the link to Rod Smith’s site above.
Getting to know Windows 8:
I know, this is a Linux site, but bear with me. What is listed here isn’t much, and it makes for some shorter text elsewhere in this thread – and it is tidy to keep it in a collection. <Wkey> means the Windows-key present on all Windows PC-style keyboards:<Wkey>-X. If you are like me, this menu will soon be your favourite Windows 8 menu
- <Wkey>-Q All applications - “The Metro UI”
- <Wkey>-I Settings shortcut + power off and some more.
- <Wkey>-C Same as moving mouse-pointer to upper right corner of the screen
- <Wkey>-E Start Windows explorer (File Manager)
- <Wkey>-D Access the Desktop, as close to the old-fashioned desktop style as you gets in W8 for now (without 3rd-party tools).
- <Wkey> Toggle between the Metro GUI’s Start screen and Windows 8 Desktop.
- <Alt>-F4 still works as you would expect
- <Alt>-<Tab> (and <Alt>-<Shift>-<Tab>) also work as you expect.
Windows 8.1 is rumored to give you back the Start button…