0

I have tried it two times already and each time I hit some or the other road-block.

AFAIU it, both Windows 10 and any GNU/Linux say Debian can live each happily with each other.

Now I have a 4 TB HDD put as a gpt disk.

Now when I do install the OS, I do it this way -

a. Windows 10 with /boot

f. After Windows Installation is all done, then install debian and use grub2 so it finds both the distros. and do the best it can.

Now with Linux, it is easy mapping out the needs -

a. grub2 shows something like this -

> ls -lh /boot
total 27M
-rw-r--r-- 1 root root 193K Dec 22 19:42 config-4.14.0-2-amd64
drwx------ 3 root root 1.0K Jan  1  1970 efi
drwxr-xr-x 5 root root 1.0K Jan 15 01:43 grub
-rw-r--r-- 1 root root  19M Jan 12 10:40 initrd.img-4.14.0-2-amd64
drwx------ 2 root root  12K Jan  1 17:49 lost+found
-rw-r--r-- 1 root root 2.9M Dec 22 19:42 System.map-4.14.0-2-amd64
-rw-r--r-- 1 root root 4.4M Dec 22 19:42 vmlinuz-4.14.0-2-amd64

Now I want to have the kernel, memory tester and some more free space in /boot.

> df -h /boot
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda5        88M   40M   43M  49% /boot

Also see -

r> sudo ls -lh /boot/efi/EFI
total 3.0K
drwx------ 2 root root 1.0K Dec 31 21:38 Boot
drwx------ 2 root root 1.0K Dec 31 19:23 debian
drwx------ 4 root root 1.0K Dec 31 21:32 Microsoft

I am somewhat confused as putting a large area for /boo encourages reserved and other such directories under Windows 10.

I am open to the idea of starting from scratch i.e. install windows 10 again but not sure how to tackle the partitioning so that /boot or /boot/efi

so can anybody give me advice as to how to proceed further if I start with a clean slate.

2
  • With UEFI, you don't need to worry about GRUB finding the other operating systems. The UEFI BIOS can select from multiple EFI bootloaders Commented Jan 15, 2018 at 18:54
  • 1
    @multithr3at3d While that is theoretically the case, there are essentially no consumer systems that provide any way to select one or the other manually on boot without going through the firmware configuration menu or hitting some special hotkey, and updating the boot-order from Windows is an unreliable pain in the arse. Given both factors, it really is easier in almost all cases to use a regular bootloader like GRUB 2 or rEFInd. Commented Jan 15, 2018 at 20:04

1 Answer 1

0

/boot and /boot/efi are generally separate partitions in all but a few odd configurations that aren't supported by pretty much any Linux distribution.

/boot/efi is the EFI system partition. It will be automatically created by the Windows install, and needs to be a FAT32 formatted partition with a particular type code (specifically, C12A7328-F81F-11D2-BA4B-00A0C93EC93B ). It contains EFI executables (actually a special version of the PE32+ format used by Windows) that are the various EIF bootloaders and system tools. For most systems, 128MB is a reasonable size (that will comfortably fit both the standard MS bootloaders, and a typical distro install of GRUB2 together with the stuff needed for Secure Boot on Linux if you actually use that). Your example listing has 3 directories:

  • /Boot: This is part of the default bootloader path for EFI (the exact path is /Boot/bootx64.efi for 64-bit systems, and /Boot/bootia32.efi for 32-bit (and something else for ARM and ARM64 systems, but I forget the exact path). Some distros will install a copy of the GRUB executable here as there are buggy EFI implementations that will only boot from this path or the standard Windows one. For reference, this is where the bootloader needs to be on removable media to boot on an EFI system. It's also completely unrelated to the /boot directory present on all standard Linux systems.
  • /debian: This is the distribution directory. Each distro has their own. This is the standard install location on most distros for their bootloader, as well as any other EFI utilities they may install. For a normal EFI install, the distro will set up the firmware to load a version of GRUB from here, which will then start looking in the Linux /boot directory (not the EFI /Boot directory) for configuration files to tell it what to load.
  • /Microsoft: This is the Windows boot directory. It will contain at minimum a subdirectory called Boot, which will have a few other subdirectories and a couple of files. The most notable file in here is at /Microsoft/Boot/bootmgfw.efi, which is the Windows EFI bootloader. Some really brain-dead EFI implementations will unconditionally load this file if it exists instead of paying attention to the EFI boot variables.

/boot is the Linux boot partition, which will be created by the Linux installation process It contains the files used by your regular bootloader (in this case GRUB2), as well as your kernels and initramfs images for your Linux distribution. It needs to be a POSIX compatible filesystem if you're using GRUB2 (which means that FAT32 is out, which is why it is generally a separate filesystem from the EFI system partition) It should have a sub-directory for your bootloader (/boot/grub or /boot/grub2 in your case), and a bunch of files. Most people recommend making this filesystem at least 256MB so you can keep a handful of old kernels around in case you need to boot them to work around a bug in a newer kernel. Note also that in some cases there may not be a separate boot partition for Linux, and the relevant files may instead be stored on the root filesystem (thought they are still located under /boot when you are booted into Linux).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .