3

I have a PC with Windows 10 installed on the only 1 TB hard drive that I have been using for a year or so. The hard drive was only 35% used. I installed Debian 8.7 from an ISO on a USB drive. During the installation, the installer displayed a list of current partitions and free space on the drive, including a 933GB NTFS partition. I used the Debian installer itself to shrink this partition to 50% and installed Debian on the new partition created. Even so, further on during installation, the installer did not recognize any other OS installed and said that, if there IS one and I continue installation, it may become un-bootable but I would be able to fix that manually by editing some file. So I continued with the installation and it completed successfully. However, when I boot up the machine, I do not get a choice of booting to Linux, and it directly boots to Windows 10. A couple of points:

  1. While boot-up, there is a message to press F12 for BBS Popup. Pressing F12 gives me a choice of drives to boot from, but there is no choice that looks like some Linux variant. (Screenshot) Boot-Device-Selection.jpg

  2. Choosing either UEFI Device or Windows Boot Manager just boots into Windows 10.

  3. From Windows command line, running the command bcdedit /enum shows only Windows boot loaders. (Screenshot) bcdedit.png How can I get my machine to boot into Debian Linux OS? Thanks a lot for your help. I have spent way too much time booting and re-booting :-)

EDIT: Just wanted to add that I did select Yes to install grub-loader in the master boot record of the first hard drive.

  • EFI is another entry in the long list of the IT developments, as a wonderful new thing were invented to make everything clean and easy, but it made crash et al. Yes, EFI is still a wonderful idea, but if you actually want to use it, you will spend way more time to solve the trivial booting problem, as it deserves. – peterh says reinstate Monica Feb 21 '17 at 2:23
  • bcdedit plays with the boot record of the windows partition. Theoretically it should work as charm, but in practice the efi firmware is developed by the hardware manufacturer and they mostly ignore the existence of linux. Furthermore, they also ignore the existence of standards. Most EFI implementations are buggy and ignore the standard. – peterh says reinstate Monica Feb 21 '17 at 2:25
  • I found this question unix.stackexchange.com/questions/130810/… that seems relevant here. Specifically, one of the recommendations is to answer No to installing grub loader in the master boot record, and then specify the right device in the next step. Will try re-installing and doing that. – Ajoy Bhatia Feb 21 '17 at 6:11
  • The Master Boot Record is mostly irrelevant in the new EFI world, it has been replaced by a combination of more capable firmware (able to read FAT file systems), EFI variables in NVM and the EFI System Partition. The EFI boot variables contain the list in your screenshot above. One entry in the list is the default. The entries point to devices or EFI programs, which can either function as boot loaders or chooser programs, which are in turn able to run boot loaders. This is a background note on what's going on. To solve your problem you will probably need to install Grub again. – Johan Myréen Feb 21 '17 at 7:43
1

I am happy to report that I found the root cause of the problem. I happened to find this page: Windows Support for UEFI, and read the following there:

With UEFI 2.3.1, there are both x86 and x64 versions of UEFI. Windows 10 supports both. However, UEFI does not support cross-platform boot. This means that a computer that has UEFI x64 can run only a 64-bit operating system, and a computer that has UEFI x86 can run only a 32-bit operating system.

Well, I was installing on a UEFI computer with a 64-bit Intel CPU but using the debian-8.7.1-i386-DVD-1.iso image. When I used the amd64 image - debian-8.7.1-amd64-DVD-1.iso - instead, everything worked out fine. Now, I get a few seconds to select the OS, with Linux as default.

The kinda weird architecture naming conventions threw me. When I first made the choice of which ISO image, I wasn't sure if amd64 would work because I had an Intel CPU, and i386 had usually been the safe choice until now, but then later I read on the Debian site that amd64 is for 64-bit architectures, both AMD and Intel chips.

  • I learned quite a bit about MBR vs. GPT, and BIOS vs. UEFI in the process of getting this to work :-) – Ajoy Bhatia Feb 22 '17 at 19:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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