ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/pbcdedit/pbcdedit
(Generate patch)

Comparing pbcdedit/pbcdedit (file contents):
Revision 1.3 by root, Wed Aug 14 21:27:54 2019 UTC vs.
Revision 1.4 by root, Wed Aug 14 22:03:36 2019 UTC

618many questions, but I can walk you through some actual examples using mroe 618many questions, but I can walk you through some actual examples using mroe
619complex aspects. 619complex aspects.
620 620
621=item locate=<block=vhd,<block=file,<locate=<null>,path,\disk.vhdx>,\disk.vhdx>>,element,path 621=item locate=<block=vhd,<block=file,<locate=<null>,path,\disk.vhdx>,\disk.vhdx>>,element,path
622 622
623#todo 623Just like with C declarations, you best treat device descriptors as
624instructions to find your device and work your way from the inside out:
625
626 locate=<null>,path,\disk.vhdx
627
628First, the innermost device descriptor searches all partitions on the
629system for a file called F<\disk.vhdx>:
630
631 block=file,<see above>,\disk.vhdx
632
633Next, this takes the device locate has found and finds a file called
634F<\disk.vhdx> on it. This is the same file locate was using, but that is
635only because we find the device using the same path as finding the disk
636image, so this is purely incidental, although quite common.
637
638Bext, this file will be opened as a virtual disk:
639
640 block=vhd,<see above>
641
642And finally, inside this disk, another C<locate> will look for a partition
643with a path as specified in the C<path> element, which most likely will be
644F<\Windows\system32\winload.exe>:
645
646 locate=<see above>,element,path
647
648As a result, this will boot the first Windows it finds on the first
649F<disk.vhdx> disk image it can find anywhere.
624 650
625=item locate=<block=vhd,<block=file,<partition=<null>,harddisk,mbr,47cbc08a,242643632128>,\win10.vhdx>>,element,path 651=item locate=<block=vhd,<block=file,<partition=<null>,harddisk,mbr,47cbc08a,242643632128>,\win10.vhdx>>,element,path
626 652
627#todo 653Pretty much the same as the previous case, but witzh a bit of variance. First, look for a specific partition on
654an MBR-partitioned disk:
655
656 partition=<null>,harddisk,mbr,47cbc08a,242643632128
657
658Then open the file F<\win10.vhdx> on that partition:
659
660 block=file,<see above>,\win10.vhdx
661
662Then, again, the file is opened as a virtual disk image:
663
664 block=vhd,<see above>
665
666And again the windows loader (or whatever is in C<path>) will be searched:
667
668 locate=<see above>,element,path
628 669
629=item {b097d2b2-bc00-11e9-8a9a-525400123456}block<1>=ramdisk,<partition=<null>,harddisk,mbr,47cbc08a,242643632128>,0,0,0,\boot.wim 670=item {b097d2b2-bc00-11e9-8a9a-525400123456}block<1>=ramdisk,<partition=<null>,harddisk,mbr,47cbc08a,242643632128>,0,0,0,\boot.wim
630 671
631#todo 672This is quite different. First, it starts with a GUID. This GUID belongs
673to a BCD object of type C<device>, which has additional parameters:
674
675 "{b097d2b2-bc00-11e9-8a9a-525400123456}" : {
676 "type" : "device",
677 "description" : "sdi file for ramdisk",
678 "ramdisksdidevice" : "partition=<null>,harddisk,mbr,47cbc08a,1048576",
679 "ramdisksdipath" : "\boot.sdi"
680 },
681
682I will not go into many details, but this specifies a (presumably empty)
683template ramdisk image (F<\boot.sdi>) that is used to initiaolize the
684ramdisk. The F<\boot.wim> file is then extracted into it. As you cna also
685see, this F<.sdi> file resides on a different C<partition>.
686
687Continuitn, as always, form the inside out, first this device descriptor
688finds a specific partition:
689
690 partition=<null>,harddisk,mbr,47cbc08a,242643632128
691
692And then specifies a C<ramdisk> image on this partition:
693
694 block<1>=ramdisk,<see above>,0,0,0,\boot.wim
695
696I don't know what the purpose ofd the C<< <1> >> flag value is, but it
697seems to be always there on this kind of entry.
632 698
633 699
634=head1 SEE ALSO 700=head1 SEE ALSO
635 701
636For ideas on what you can do, and some introductory material, try 702For ideas on what you can do, and some introductory material, try

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines