![Что сделал менеджер загрузки Windows во время загрузки Windows из файла VHDX? (это касается принципа, а не шага настройки)](https://rvso.com/image/1558666/%D0%A7%D1%82%D0%BE%20%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D0%BB%20%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80%20%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8%20Windows%20%D0%B2%D0%BE%20%D0%B2%D1%80%D0%B5%D0%BC%D1%8F%20%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8%20Windows%20%D0%B8%D0%B7%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%20VHDX%3F%20(%D1%8D%D1%82%D0%BE%20%D0%BA%D0%B0%D1%81%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D0%B0%2C%20%D0%B0%20%D0%BD%D0%B5%20%D1%88%D0%B0%D0%B3%D0%B0%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8).png)
Когда вышла Windows 7, также появилась функция Windows Boot Manager. Это Native boot. Однако есть один волшебный момент, который меня сбивает с толку.
Когда работает диспетчер загрузки Windows, можно предположить, что он мощный, он считывает файл VHDX и извлекает ядро NT в ОЗУ. Однако, когда ядро NT загружено в ОЗУ,жизнь загрузчика окончена.
Даже если ядро NT мощное, это все еще просто ядро. Ему нужно много других компонентов для работы, и я думаю, что ядро NT не имеет возможности читать файлы VHDX.
В1. Правилен ли описанный мной ход выполнения загрузчика extract ntkernel?
В1.1. Подходит ли здесь глагол "извлечь"? Или загрузчик просто помещает дескриптор в начальную позицию файла VHDX на диске без чего-либо еще.
Как правило, ограничение не ограничивается только диспетчером загрузки Windows, загрузчиком может быть и другая программа.
В2. Возможна ли загрузка с файлов VDI, VMDK или ISO?
В3. Основана ли возможность встроенной загрузки VHDX на особой структуре формата VHDX, благодаря которой любая программа может получить к нему прямой доступ, как и к файлу на реальном диске?
В4. Есть ли какой-либо ресурс, который подробно объясняет принцип загрузки Native VHDX? (Это о принципе, а не руководство по настройке шагов. Это поведение во время загрузки Native)
(Я только новичок в вопросах прошивки и загрузки, хочу получить помощь от мастера)
решение1
- Во-первых, Windows 7 не поддерживает загрузку с VHDX; поддерживается только VHD. VHDX поддерживается в Windows 8 и более поздних версиях.
Во-вторых, это известный факт, что
bootmgr
, часть загрузчика Windows, начиная с Windows Vista, поддерживает загрузку с файлов VHD, WIM (именно так запускается установка Windows изнутриsources\boot.wim
), RAM-дисков, сети и различных контроллеров дисков, таких как SCSI и IDE. СогласноВнутреннее устройство Windows, шестое издание, часть 2, страница 503:Bootmgr содержит облегченную библиотеку файловой системы NTFS (Bootmgr также поддерживает другие файловые системы, такие как FAT, El Torito CDFS и UDFS, а также файлы WIM и VHD); в отличие от кода загрузочного сектора, код файловой системы Bootmgr также может читать подкаталоги.
—Руссинович, Марк; Соломон, Дэвид А.; Ионеску, Алекс (2012).Внутреннее устройство Windows, шестое издание, часть 2. Редмонд, Вашингтон: Microsoft Press. стр. 503. ISBN 978-0-7356-6587-3.
Все это на порядок сложнее, чем VHD. (WIM на самом деле поддерживает дедупликацию и сжатие файлов.) Конечно, в какой-то момент управление передается Windows и ее собственным драйверам устройств. Драйвер VHD — это
%SystemRoot%\System32\Drivers\Vdrvroot.sys
. Он загружаетVhdmp.sys
иFsdepends.sys
.В-третьих, ISO, VDI и VMDK не поддерживаются.
Более подробную информацию вы можете получить по адресу:
- «Загрузка с виртуального жесткого диска: добавьте VHDX или VHD в меню загрузки».Документы Microsoft.
- «Развертывание Windows с помощью VHDX (собственная загрузка)».Документы Microsoft.
Но для более глубокого чтения,Книги по внутренним устройствам Windows от Марка Руссиновичамои рекомендации. Пожалуйста, имейте в виду, что ни один из этих источников не раскрывает коммерческие секреты Microsoft, и этот веб-сайт также не одобряет такие источники.