X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=tools%2Fvirt-win-reg;h=ed298fbc6b393d268fb4d0fb905bf37bd33acf4d;hb=a51f56adb168ac7d4b65b98c7f0cdb07f266265f;hp=b4bb1f0f6625419f0b2ffd85b13fce003dc67255;hpb=4b48f93ce6407923ea23451cfe39ac63811d1f42;p=libguestfs.git diff --git a/tools/virt-win-reg b/tools/virt-win-reg index b4bb1f0..ed298fb 100755 --- a/tools/virt-win-reg +++ b/tools/virt-win-reg @@ -151,8 +151,23 @@ Paths and value names are case-insensitive. Registry keys like C don't really exist in the Windows Registry at the level of the hive file, and therefore you -cannot modify these. Replace this with C, and -similarly for other C keys. +cannot modify these. + +C is usually an alias for C. In +some circumstances it might refer to another control set. The way +to find out is to look at the C key: + + # virt-win-reg WindowsGuest 'HKLM\SYSTEM\Select' + [HKEY_LOCAL_MACHINE\SYSTEM\Select] + "Current"=dword:00000001 + "Default"=dword:00000001 + "Failed"=dword:00000000 + "LastKnownGood"=dword:00000002 + +"Default" is the one which Windows will choose when it boots. + +Similarly, other C keys in the path may need to +be replaced. =head1 OPTIONS @@ -196,6 +211,23 @@ at all. =cut +my $format; + +=item B<--format> raw + +Specify the format of disk images given on the command line. If this +is omitted then the format is autodetected from the content of the +disk image. + +If disk images are requested from libvirt, then this program asks +libvirt for this information. In this case, the value of the format +parameter is ignored. + +If working with untrusted raw-format guest disk images, you should +ensure the format is always specified. + +=cut + my $merge; =item B<--merge> @@ -229,6 +261,7 @@ GetOptions ("help|?" => \$help, "version" => \$version, "connect|c=s" => \$uri, "debug|d" => \$debug, + "format=s" => \$format, "merge" => \$merge, "encoding=s" => \$encoding, ) or pod2usage (2); @@ -249,6 +282,7 @@ warn "launching libguestfs ..." if $debug; my @lib_args = ([$domname_or_image]); push @lib_args, address => $uri if $uri; push @lib_args, rw => 1 if $merge; +push @lib_args, format => $format if defined $format; my $g = open_guest (@lib_args); $g->launch (); @@ -265,7 +299,6 @@ my %fses = my $oses = inspect_operating_systems ($g, \%fses); my @roots = keys %$oses; -die __"no root device found in this operating system image" if @roots == 0; die __"multiboot operating systems are not supported by virt-win-reg" if @roots > 1; my $root_dev = $roots[0]; @@ -323,7 +356,7 @@ else { # Import mode. %hives = (); # Look in the tmpdir for all the hive files which have been - # downloaded / modified by the import mapper, and upload + # downloaded / modified by the import mapper, and upload # each one. opendir my $dh, $tmpdir or die "$tmpdir: $!"; foreach (readdir $dh) { @@ -444,6 +477,13 @@ sub upload_hive } } +=head1 SHELL QUOTING + +Libvirt guest names can contain arbitrary characters, some of which +have meaning to the shell such as C<#> and space. You may need to +quote or escape these characters on the command line. See the shell +manual page L for details. + =head1 SEE ALSO L, @@ -472,7 +512,7 @@ L =head1 AUTHOR -Richard W.M. Jones L +Richard W.M. Jones L =head1 COPYRIGHT