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

Comparing pbcdedit/pbcdedit (file contents):
Revision 1.13 by root, Wed Aug 14 23:17:27 2019 UTC vs.
Revision 1.14 by root, Wed Aug 14 23:20:10 2019 UTC

448The types understood and used by PBCDEDIT are as follows (keep in mind 448The types understood and used by PBCDEDIT are as follows (keep in mind
449that not of all the following is necessarily supported in PBCDEDIT): 449that not of all the following is necessarily supported in PBCDEDIT):
450 450
451=over 451=over
452 452
453=item binary=I<hex...> 453=item C<binary=>I<hex...>
454 454
455This type isn't actually a real BCD element type, but a fallback for those 455This type isn't actually a real BCD element type, but a fallback for those
456cases where PBCDEDIT can't perfectly decode a device element (except for 456cases where PBCDEDIT can't perfectly decode a device element (except for
457the leading GUID, which it can always decode). In such cases, it will 457the leading GUID, which it can always decode). In such cases, it will
458convert the device into this type with a hexdump of the element data. 458convert the device into this type with a hexdump of the element data.
459 459
460=item null 460=item C<null>
461 461
462This is another special type - sometimes, a device all zero-filled, which 462This is another special type - sometimes, a device all zero-filled, which
463is not valid. This can mark the absence of a device or something PBCDEDIT 463is not valid. This can mark the absence of a device or something PBCDEDIT
464does not understand, so it decodes it into this special "all zero" type 464does not understand, so it decodes it into this special "all zero" type
465called C<null>. 465called C<null>.
466 466
467It's most commonly found in devices that can use an optional parent 467It's most commonly found in devices that can use an optional parent
468device, when no parent device is used. 468device, when no parent device is used.
469 469
470=item boot 470=item C<boot>
471 471
472Another type without parameters, this refers to the device that was booted 472Another type without parameters, this refers to the device that was booted
473from (nowadays typically the EFI system partition). 473from (nowadays typically the EFI system partition).
474 474
475=item vmbus=I<interfacetype>,I<interfaceinstance> 475=item C<vmbus=>I<interfacetype>,I<interfaceinstance>
476 476
477This specifies a VMBUS device with the given interface type and interface 477This specifies a VMBUS device with the given interface type and interface
478instance, both of which are "naked" (no curly braces) GUIDs. 478instance, both of which are "naked" (no curly braces) GUIDs.
479 479
480Made-up example (couldn't find a single example on the web): 480Made-up example (couldn't find a single example on the web):
481 481
482 vmbus=c376c1c3-d276-48d2-90a9-c04748072c60,12345678-a234-b234-c234-d2345678abcd 482 vmbus=c376c1c3-d276-48d2-90a9-c04748072c60,12345678-a234-b234-c234-d2345678abcd
483 483
484=item partition=<I<parent>>,I<devicetype>,I<partitiontype>,I<diskid>,I<partitionid> 484=item C<partition=><I<parent>>,I<devicetype>,I<partitiontype>,I<diskid>,I<partitionid>
485 485
486This designates a specific partition on a block device. C<< <parent> 486This designates a specific partition on a block device. C<< <parent>
487>> is an optional parent device on which to search on, and is often 487>> is an optional parent device on which to search on, and is often
488C<null>. Note that the angle brackets are part of the syntax. 488C<null>. Note that the angle brackets are part of the syntax.
489 489
529Example: use the partition C<76d39e5f-ad1b-407e-9c05-c81eb83b57dd> on GPT 529Example: use the partition C<76d39e5f-ad1b-407e-9c05-c81eb83b57dd> on GPT
530disk C<9742e468-9206-48a0-b4e4-c4e9745a356a>. 530disk C<9742e468-9206-48a0-b4e4-c4e9745a356a>.
531 531
532 partition=<null>,harddisk,gpt,9742e468-9206-48a0-b4e4-c4e9745a356a,76d39e5f-ad1b-407e-9c05-c81eb83b57dd 532 partition=<null>,harddisk,gpt,9742e468-9206-48a0-b4e4-c4e9745a356a,76d39e5f-ad1b-407e-9c05-c81eb83b57dd
533 533
534=item raw 534=item C<raw>
535 535
536Instead of C<diskid> and C<partitionid>, this type only accepts a decimal 536Instead of C<diskid> and C<partitionid>, this type only accepts a decimal
537disk number and signifies the whole disk. BCDEDIT cannot display the 537disk number and signifies the whole disk. BCDEDIT cannot display the
538resulting device, and I am doubtful whether it has a useful effect. 538resulting device, and I am doubtful whether it has a useful effect.
539 539
540=back 540=back
541 541
542=item legacypartition=<I<parent>>,I<devicetype>,I<partitiontype>,I<diskid>,I<partitionid> 542=item C<legacypartition=><I<parent>>,I<devicetype>,I<partitiontype>,I<diskid>,I<partitionid>
543 543
544This is exactly the same as the C<partition> type, except for a tiny 544This is exactly the same as the C<partition> type, except for a tiny
545detail: instead of using the partition start offset, this type uses the 545detail: instead of using the partition start offset, this type uses the
546partition number for MBR disks. Behaviour other partition types should be 546partition number for MBR disks. Behaviour other partition types should be
547the same. 547the same.
550there are two primary partitions and another partition inside the extended 550there are two primary partitions and another partition inside the extended
551partition, the primary partitions are number C<1> and C<2> and the 551partition, the primary partitions are number C<1> and C<2> and the
552partition inside the extended partition is number C<3>, regardless of any 552partition inside the extended partition is number C<3>, regardless of any
553gaps. 553gaps.
554 554
555=item locate=<parent>,locatetype,locatearg 555=item C<locate=><I<parent>>,I<locatetype>,I<locatearg>
556 556
557This device description will make the bootloader search for a partition 557This device description will make the bootloader search for a partition
558with a given path. 558with a given path.
559 559
560The C<< <parent> >> device is the device to search on (angle brackets are 560The C<< <parent> >> device is the device to search on (angle brackets are
574Example: find any partition which has the path specified in the 574Example: find any partition which has the path specified in the
575C<systemroot> element (typically C<\Windows>). 575C<systemroot> element (typically C<\Windows>).
576 576
577 locate=<null>,element,systemroot 577 locate=<null>,element,systemroot
578 578
579=item block=devicetype,args... 579=item C<block=>I<devicetype>,I<args...>
580 580
581Last not least, the most complex type, C<block>, which... specifies block 581Last not least, the most complex type, C<block>, which... specifies block
582devices (which could be inside a F<vhdx> file for example). 582devices (which could be inside a F<vhdx> file for example).
583 583
584C<devicetypes> is one of C<harddisk>, C<floppy>, C<cdrom>, C<ramdisk>, 584C<devicetypes> is one of C<harddisk>, C<floppy>, C<cdrom>, C<ramdisk>,
586 586
587The remaining arguments change depending on the C<devicetype>: 587The remaining arguments change depending on the C<devicetype>:
588 588
589=over 589=over
590 590
591=item block=file,<parent>,path 591=item C<block=file>,<I<parent>>,I<path>
592 592
593Interprets the C<< <parent> >> device (typically a partition) as a 593Interprets the C<< <parent> >> device (typically a partition) as a
594filesystem and specifies a file path inside. 594filesystem and specifies a file path inside.
595 595
596=item block=vhd,<parent> 596=item C<block=vhd>,<I<parent>>
597 597
598Pretty much just changes the interpretation of C<< <parent> >>, which is 598Pretty much just changes the interpretation of C<< <parent> >>, which is
599usually a disk image (C<block=file,...)>) to be a F<vhd> or F<vhdx> file. 599usually a disk image (C<block=file,...)>) to be a F<vhd> or F<vhdx> file.
600 600
601=item block=ramdisk,<parent>,base,size,offset,path 601=item C<block=ramdisk>,<I<parent>>,I<base>,I<size>,I<offset>,I<path>
602 602
603Interprets the C<< <parent> >> device as RAM disk, using the (decimal) 603Interprets the C<< <parent> >> device as RAM disk, using the (decimal)
604base address, byte size and byte offset inside a file specified by 604base address, byte size and byte offset inside a file specified by
605C<path>. The numbers are usually all C<0> because they cna be extracted 605C<path>. The numbers are usually all C<0> because they can be extracted
606from the RAM disk image or other parameters. 606from the RAM disk image or other parameters.
607 607
608This is most commonly used to boot C<wim> images. 608This is most commonly used to boot C<wim> images.
609 609
610=item block=floppy,drivenum 610=item C<block=floppy>,I<drivenum>
611 611
612Refers to a removable drive identified by a number. BCDEDIT cannot display 612Refers to a removable drive identified by a number. BCDEDIT cannot display
613the resultinfg device, and it is not clear what effect it will have. 613the resulting device, and it is not clear what effect it will have.
614 614
615=item block=cdrom,drivenum 615=item C<block=cdrom>,I<drivenum>
616 616
617Pretty much the same as C<floppy> but for CD-ROMs. 617Pretty much the same as C<floppy> but for CD-ROMs.
618 618
619=item anything else 619=item anything else
620 620
624 624
625=back5 Examples 625=back5 Examples
626 626
627This concludes the syntax overview for device elements, but probably 627This concludes the syntax overview for device elements, but probably
628leaves many questions open. I can't help with most of them, as I also ave 628leaves many questions open. I can't help with most of them, as I also ave
629many questions, but I can walk you through some actual examples using mroe 629many questions, but I can walk you through some actual examples using more
630complex aspects. 630complex aspects.
631 631
632=item locate=<block=vhd,<block=file,<locate=<null>,path,\disk.vhdx>,\disk.vhdx>>,element,path 632=item locate=<block=vhd,<block=file,<locate=<null>,path,\disk.vhdx>,\disk.vhdx>>,element,path
633 633
634Just like with C declarations, you best treat device descriptors as 634Just like with C declarations, you best treat device descriptors as

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines