Dual Images windows 10 and Ubuntu 16 with UEFI
-
@fernando-gietz Just for clarity and those who will be doing the same as you: Did you run that command before you recaptured the reference image, or did you add that bcdedit command to the setupcomplete.cmd file?
-
@george1421 I have recaptured the image.
- Install W10
- Install Ubuntu 16
- Boot under W10 and run the bcdedit command
- Capture the image
-
@fernando-gietz Very, very, nice.
You can fix it on the front end and then not worry post imaging. That info will help everyone who need to create a dual boot system. Thank you.
-
@george1421 Although I haven’t tested yet I am fairly sure that the “fix” won’t work.
@Fernando-Gietz Please deploy that image to a completely different machine, one you have never deployed this image to before. I am fairly sure it won’t have the Ubuntu boot menu entry.
-
@sebastian-roth said in Dual Images windows 10 and Ubuntu 16 with UEFI:
Although I haven’t tested yet I am fairly sure that the “fix” won’t work.
Hmmm… I’m thinking that it will work since the change was made “inside windows” and not by external evil “linux” forces. But who really knows…
I might also see the change possibly being reverted if he was deploying Windows 10 CBB, on the next refresh.
I think only time will tell of this “hack” is forever or until the next reboot.
-
@george1421 said in Dual Images windows 10 and Ubuntu 16 with UEFI:
I think only time will tell of this “hack” is forever or until the next reboot.
From my point of view the “hack” should be persistent (at least till the next major Windows update but maybe even beyond that) on that very same machine because bcdedit adds the entry to the NVRAM. But this is not what we transfer to other machines when we capture and deploy and image from/to disk…
-
@sebastian-roth said in Dual Images windows 10 and Ubuntu 16 with UEFI:
because bcdedit adds the entry to the NVRAM
Ah, now I see the picture, and its clear.
So the only solid solution is running that command in the windows environment. I was under the impression that the command altered something in the media that would be captured by FOG. So possibly a better solution would be to execute that bcdedit command via a FOG snapin.
-
@george1421 said in Dual Images windows 10 and Ubuntu 16 with UEFI:
So the only solid solution is running that command in the windows environment.
No I think you should be able to use the
efibootmgr
command to do essentially the same thing from a running Linux system like FOS for example. -
@sebastian-roth I have deployed the dual image to a different machine and … surprise! You are right, the machine boot directly under W10, in the next appears the grub and the posibility to boot under Ubuntu.
I have found a link about NVRAM, I suppose that will be a lot of them but was the first entry in google :
Understanding UEFI variables: http://en.community.dell.com/techcenter/os-applications/f/4457/t/19589262
1- What all information is stored in UEFI VARIABLES? All configuration setup, vendor information, language information, input/output console, error console, and boot order setting all these information are stored in these variables 2- How to get NVRAM variables You can use UEFI bootable USB to boot the server. You need to have supported files which can give you UEFI shell once server boot from USB. Once you got the UEFI shell you can run UEFI command "dmpstore" to see the variable available in NVRAM. For more options or help just type “? dmpstore”. If you have Linux installed before in same server in UEFI mode. You can access the EFI partition. Give this command in UEFI shell "FS0:" Now your “/boot/efi “partition is mounted. You can see the content of this volume using ls/dir command. "dmpstore -all > myvariables" will collect all NVRAM variable to EFI partition. When you reboot your Linux box you will see this file in your /boot/efi location. 3- Analysis of variables You will see lot of entries in the dump file. Variable name, access, data and many more. We will use this example: Variable NV+RT+BS 'Efi:ConOut' DataSize = 36 This tells that Variable name is Console output which data size is 0X36 in HEX . This variable is available at runtime (RT) and boot time (BS). Runtime variable which are available after OS booted and boot time which are available before OS boot. 4- Mapping of UEFI variables from BIOS to Linux OS. You can see all these variables are mapped from Linux OS.UEFI variables are mapped through sys entry. Just see to this location /sys/firmware/efi/efivars . It will have all variables which was available in dump file. All these variables depend on efivarfs kernel modules. If this module is not available you cannot access the variables. It is mounted as efivarfs file system on /sys/firmware/efi/efivars. Parmeshwr_Prasad Linux Engineer Dell Inc (Bangalore)```
-
I have made a test.
I have download a dual image, in the first boot W10 like we expect, in the second boot appears the grub menu. The UEFI variables are updated by W10.
If you download an image with only Linux, then the computer doesn’t detect any OS and dones’t boor. You need repair the boot or update the UEFI variables to rebirth the computer.
-
@fernando-gietz said in Dual Images windows 10 and Ubuntu 16 with UEFI:
You need repair the boot
It’s not actually a repair! It’s just something a new computer doesn’t know about yet and FOG is not able to capture and deploy this piece of information yet.
-
Hello, I came to this topic because I was having this same issue with some new Dell computers that arrived here where I work, in my case I didn’t needed to repair the grub, but I could solve this by changing some bios configuration where there’s a option to add uefi boot option and there appears the .efi file of the grub and mark it to boot first. Hope it helps!