Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a system that has an option in the BIOS to choose boot type as "BIOS" or "UEFI". When I choose "BIOS" I can boot to DOS without problems. When I choose "UEFI" I can boot to an EFI startup.nsh script without problems. I can't however boot to DOS from the "UEFI" boot selection.

My question is: Is there any way to boot to DOS while having the option in the BIOS set to "UEFI"?

I have played around with grub for a while but I have found that it does not have full BIOS emulation. Apparently, "fakebios" and "loadbios" options are simple emulations to work around video card issues. They do not work in this case.

share|improve this question
2  
DOS? Which version? I am not aware of a UEFI-aware version of MS-DOS, but I cannot speak for the other clones out there. –  user3463 Jul 18 '12 at 22:49
    
@Randolph - Just MS-DOS. I guess I don't know enough about UEFI, I was hoping that there would be some way to fool UEFI into booting MS-DOS. It sounds like that is not a possibility due to how EFI and DOS are structured. –  Greg G. Jul 19 '12 at 14:04
    
Out of curiosity, what do you want to use DOS for? –  nitro2k01 Oct 27 '13 at 6:31
add comment

2 Answers

No, it is not possible to boot to DOS while the option is set to "UEFI". Only UEFI compliant operating systems can be booted with this option.

share|improve this answer
add comment

This is sort of an oxymoron. There are two standards for disk partition tables, MS-DOS and U/EFI. The older one is MS-DOS, the newer one is UEFI.

The old partition table type came with several serious shortcomings, the most famous of which is the inability to use disks larger than 2TiB. This comes from the fact that it uses 32-bit addresses to identify 512-byte sectors. The product of the two is 2TiB, the largest disk that you can use with this kind of partition table.

There are of course other limitations: Only 3 primary partitions, only 59 logical partitions, only one copy of the partition table (at the beginning of the disk, in the MBR), structured as a linked list which is obviously quite prone to corruption, the use of old-fashioned CHS (cylinder-Head-Ssector).

In order to overcome these problems, the GPT partition table has been introduced, as part of Intel's UEFI. The GPT overcomes all of these problems (for instance, there are two copies of the table, at the beginning and at the end of the disk, it allows the partitioning of much much larger disks, up to 9.4 ZiB, uses Logical Block Addressing LBA instead of CHS, has only primary partitions, up to 128).

The information of the partition table is store in a structure at the beginning of the disk, preceded by the Primary partition header (this is also replicated for redundancy at the end of the disk). This structure is new: it did not exist in the old MS-DOS partition table.

However, for safety reasons, this structure is preceded by a legacy MBR, i.e., the structure defining the partition table in the old MS-DOS scheme. This is done to protect the GPT from programs unaware of the new partition table (like fdisk, which you just used without compromising the disk).

Now you see why you can boot a pc from a disk with a GPT partiton table when you set the BIOS on BIOS mode: the disk does have a MBR, so you can boot off it. However, the converse is false: if the disk has a MS-DOS partition table (not the legacy/protective one I mentioned above, just the old-fashioned one not followed by a proper GPT structure), then, setting the BIOS to UEFI mode means that the booter will search for the GPT structure, which is instead missing.

This is why your question is a bit of an oxymoron.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.