Windows dual boot documentation? #427
Labels
No labels
bug
dependency
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
review-next
security
stub
tool
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: raito/lanzaboote#427
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
It seems like it's currently impossible to configure a host for dual-boot in declarative manner.
Maybe I'm wrong, but from what I can see one has to manually sign the ed2k shell and add a regular entry through
boot.loader.systemd-boot.windows
.It would be awesome to have some blessed approach to dual boot described in the docs.
I think you only need to keep Microsoft keys and let systemd-boot know about Windows via the magic reboot into Windows option and that's it?
You don't need to do anything and you must not boot Windows via systemd-boot otherwise you will mess your measurement path and if you are using anything like Bitlocker, this will trigger a recovery prompt on boot because the measurement path is incorrect.
Well, reboot to windows works but I would really like to have an option to boot through systemd-boot menu. So, essentially, it's not possible at all?
But from what I can see, if I sign the uefi shell and boot through it, I only have to enter bitlocker key once.
In any case, it would be good to have this documented.
I'm not sure systemd-boot gives us easy way to do this and we will probably not support super advanced modifications that diverges too much from what systemd encourages.
If you are willing to send a documentation PR, we can take a look :).
I'm know literally nothing about the subject.
@RaitoBezarius
Which magic reboot into Windows option are you referring to? systemd-boot can't know about Windows if it's installed on another drive. However, in
boot.loader.systemd-boot
, it is possible to configure Windows entries manually if you know the EFI device handle which is pretty easy to get with edk2-uefi-shell. Currently, lanzaboote does not seem to support this.windows
option at all and even if it's specified inboot.loader.systemd-boot.windows
the corresponding boot entry does not seem to be generated. So am I missing some other magic that could be used here or can I conclude that currently lanzaboote does not support Windows on other drives? (Which is also the case for OP)Secondly, to boot Windows this way, systemd-boot uses the edk2-uefi-shell still, which is not signed by lanzaboote by default. I'm pretty sure that's also what OP was originally trying to convey. I think these two issues are the crux of the problem.
The thing is I'm actually a bit confused as to why some of this is happening. I can see there is a test where supposedly some settings are set in
boot.loader.systemd-boot
and then they end up in the actual/boot/loader/loader.conf
. I can't reproduce this locally as any changes inboot.loader.systemd-boot
just don't get reflected in/boot
if lanzaboote is enabled, which I suppose is expected since lanzaboote does say it's a replacement right now.So, am I missing something in terms of getting certain settings from
boot.loader.systemd-boot
(such asboot.loader.systemd-boot.windows
) working? Or is that intended? Or is it intended to work and it not working is a bug? And if it's indeed not intended to work then does lanzaboote intend to reimplement allboot.loader.systemd-boot
settings eventually? Because there are a lot of settings there that I can't currently see equivalents for in lanzaboote.boot.lanzaboote.settings.reboot-for-bitlocker
I got a dual boot fde with tpm key storage setup without the reboot flag on my hp laptop but I don't exactly remember how I achieved it 😊
I don't remember it being difficult though, and I can verify that I needed to enter the bitlocker key once or twice for the initial install. Sometimes you need to enter the key but you will always know what you did to cause it.
Hey, I was able to get it working while having windows on a separate drive. The NixOS wiki explains how to set it up using edk2-uefi-shell. Lanzabnoote does not sign the boot file for it but I manually signed it by following this link from the arch wiki. I do not know if this will keep working with updates and how it will work with Bit Locker but at least it allows it to boot. Maybe it should be included into the guide or if edk2-uefi-shell is enabled lazaboote should also sign it. Whats your opinion?
Yes, that can be done, though there is no way to do it declaratively. And, I believe, edk2-uefi-shell provides way too much to a potential attacker.
Yea I agree but maybe it could be an option for people who want to as with systemdboot and windows on a separate drive I don't think there is a different option. At the very least maybe it can be included into the QuickStart guide how to sign it and say it has security risks.
Hello good people!
I'm setting up NixOS on Acer Orion Predator 7000, side by side with Windows 11 (dual boot). The motherboard is replaced with Asus PRIME Z790-P Wifi. The systems are installed on the same physical disc and the boot partition (ESP) is shared. I enabled LUKS on the NIXROOT partition and my next step was to get Secure Boot working. I got into a state where Lanzaboote is installed, the keys are enrolled and secure boot is activated....BUT! ...only login to Windows is working. When I'm booting into NixOS I get at message saying that the kernel hash is not matching.
The steps I did:
Anybody know how I can get it to work? Please, reach out! I followed the documentation step by step, so I agree that documentation for this use case is needed.
Here is my code changes: https://github.com/JHilmarch/nixos-config/pull/18/files
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/secureboot-on-stable-do-i-need-lanzaboote/65583/2