df: Minimize the number of times we launch the libguestfs appliance.
[libguestfs.git] / tools / virt-win-reg
index 9ce84b5..afa8087 100755 (executable)
@@ -151,8 +151,23 @@ Paths and value names are case-insensitive.
 
 Registry keys like C<CurrentControlSet> 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<ControlSet001>, and
-similarly for other C<Current...> keys.
+cannot modify these.
+
+C<CurrentControlSet> is usually an alias for C<ControlSet001>.  In
+some circumstances it might refer to another control set.  The way
+to find out is to look at the C<HKLM\SYSTEM\Select> 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<Current...> keys in the path may need to
+be replaced.
 
 =head1 OPTIONS
 
@@ -265,7 +280,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 +337,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) {