This depends on how deep you want to go. I honestly recommend starting small.
First, Code by Petzold to make sure you understand how a computer truly works. Then I recommend:
Understanding Microprocessors (Motorola)
8086/8088 Assembly Language Programming
Dissecting DOS
Practical Filesystem Design
FreeBSD Internals
The reason there are so many books is because itβs a big topic. The reason most are old is that things were once much simpler. Modern stuff builds on old, so if you get a good understanding of older stuff, you have an idea of what is happening. From there, I strongly recommend getting a good understanding of UEFI. UEFI will handle most of your system initialization no boot requirements, allowing you to focus on higher level stuff. Prior knowledge of systems will still be a requirement so that you can understand some of the assumptions and choices that UEFI makes.