… | |
… | |
637 | locate=<null>,path,\disk.vhdx |
637 | locate=<null>,path,\disk.vhdx |
638 | |
638 | |
639 | First, the innermost device descriptor searches all partitions on the |
639 | First, the innermost device descriptor searches all partitions on the |
640 | system for a file called F<\disk.vhdx>: |
640 | system for a file called F<\disk.vhdx>: |
641 | |
641 | |
642 | block=file,<I<see above>>,\disk.vhdx |
642 | block=file,<see above>,\disk.vhdx |
643 | |
643 | |
644 | Next, this takes the device locate has found and finds a file called |
644 | Next, this takes the device locate has found and finds a file called |
645 | F<\disk.vhdx> on it. This is the same file locate was using, but that is |
645 | F<\disk.vhdx> on it. This is the same file locate was using, but that is |
646 | only because we find the device using the same path as finding the disk |
646 | only because we find the device using the same path as finding the disk |
647 | image, so this is purely incidental, although quite common. |
647 | image, so this is purely incidental, although quite common. |
648 | |
648 | |
649 | Next, this file will be opened as a virtual disk: |
649 | Next, this file will be opened as a virtual disk: |
650 | |
650 | |
651 | block=vhd,<I<see above>> |
651 | block=vhd,<see above> |
652 | |
652 | |
653 | And finally, inside this disk, another C<locate> will look for a partition |
653 | And finally, inside this disk, another C<locate> will look for a partition |
654 | with a path as specified in the C<path> element, which most likely will be |
654 | with a path as specified in the C<path> element, which most likely will be |
655 | F<\Windows\system32\winload.exe>: |
655 | F<\Windows\system32\winload.exe>: |
656 | |
656 | |
657 | locate=<I<see above>>,element,path |
657 | locate=<see above>,element,path |
658 | |
658 | |
659 | As a result, this will boot the first Windows it finds on the first |
659 | As a result, this will boot the first Windows it finds on the first |
660 | F<disk.vhdx> disk image it can find anywhere. |
660 | F<disk.vhdx> disk image it can find anywhere. |
661 | |
661 | |
662 | =item C<< locate=<block=vhd,<block=file,<partition=<null>,harddisk,mbr,47cbc08a,242643632128>,\win10.vhdx>>,element,path >> |
662 | =item C<< locate=<block=vhd,<block=file,<partition=<null>,harddisk,mbr,47cbc08a,242643632128>,\win10.vhdx>>,element,path >> |
… | |
… | |
666 | |
666 | |
667 | partition=<null>,harddisk,mbr,47cbc08a,242643632128 |
667 | partition=<null>,harddisk,mbr,47cbc08a,242643632128 |
668 | |
668 | |
669 | Then open the file F<\win10.vhdx> on that partition: |
669 | Then open the file F<\win10.vhdx> on that partition: |
670 | |
670 | |
671 | block=file,<I<see above>>,\win10.vhdx |
671 | block=file,<see above>,\win10.vhdx |
672 | |
672 | |
673 | Then, again, the file is opened as a virtual disk image: |
673 | Then, again, the file is opened as a virtual disk image: |
674 | |
674 | |
675 | block=vhd,<I<see above>> |
675 | block=vhd,<see above> |
676 | |
676 | |
677 | And again the windows loader (or whatever is in C<path>) will be searched: |
677 | And again the windows loader (or whatever is in C<path>) will be searched: |
678 | |
678 | |
679 | locate=<I<see above>>,element,path |
679 | locate=<see above>,element,path |
680 | |
680 | |
681 | =item C<< {b097d2b2-bc00-11e9-8a9a-525400123456}block<1>=ramdisk,<partition=<null>,harddisk,mbr,47cbc08a,242643632128>,0,0,0,\boot.wim >> |
681 | =item C<< {b097d2b2-bc00-11e9-8a9a-525400123456}block<1>=ramdisk,<partition=<null>,harddisk,mbr,47cbc08a,242643632128>,0,0,0,\boot.wim >> |
682 | |
682 | |
683 | This is quite different. First, it starts with a GUID. This GUID belongs |
683 | This is quite different. First, it starts with a GUID. This GUID belongs |
684 | to a BCD object of type C<device>, which has additional parameters: |
684 | to a BCD object of type C<device>, which has additional parameters: |
… | |
… | |
700 | |
700 | |
701 | partition=<null>,harddisk,mbr,47cbc08a,242643632128 |
701 | partition=<null>,harddisk,mbr,47cbc08a,242643632128 |
702 | |
702 | |
703 | And then specifies a C<ramdisk> image on this partition: |
703 | And then specifies a C<ramdisk> image on this partition: |
704 | |
704 | |
705 | block<1>=ramdisk,<I<see above>>,0,0,0,\boot.wim |
705 | block<1>=ramdisk,<see above>,0,0,0,\boot.wim |
706 | |
706 | |
707 | I don't know what the purpose of the C<< <1> >> flag value is, but it |
707 | I don't know what the purpose of the C<< <1> >> flag value is, but it |
708 | seems to be always there on this kind of entry. |
708 | seems to be always there on this kind of entry. |
709 | |
709 | |
710 | If you have some good examples to add here, feel free to mail me. |
710 | If you have some good examples to add here, feel free to mail me. |