in particular, some comments to the method described there are useful, like
I actually managed to mount my winXP VDI with this trick since it was a dynamic size FS.To work with a variable sized vdi file, you have to dump it to a dd file first (COPYDD); this will create a fixed size dump that then can be opened on a loop device. The variable sized file does not allow mounting as the fs driver needs to see the expected disk size.
Here is the recipe in short :
Code: Select all
1- vditool COPYDD Windows\ XP.vdi dump
2- dd if=dump of=dump2 bs=1M count=1
3- khexedit dump2
in khexedit, look for text string NTFS. Offset found at 32256.
4- sudo mount -o loop,offset=32256,umask=000 dump /mnt
5- ll /mnt
total 1180036
-rwxrwxrwx 1 root root 0 2008-03-25 08:34 AUTOEXEC.BAT*
-rwxrwxrwx 1 root root 211 2008-03-25 08:31 boot.ini*
-rwxrwxrwx 1 root root 0 2008-03-25 08:34 CONFIG.SYS*
drwxrwxrwx 1 root root 4096 2008-03-25 08:38 Documents and Settings/
-rwxrwxrwx 1 root root 0 2008-03-25 08:34 IO.SYS*
-rwxrwxrwx 1 root root 0 2008-03-25 08:34 MSDOS.SYS*
drwxrwxrwx 1 root root 0 2008-03-26 12:01 MSOCache/
-rwxrwxrwx 1 root root 47564 2004-08-04 14:00 NTDETECT.COM*
-rwxrwxrwx 1 root root 250032 2004-08-04 14:00 ntldr*
-rwxrwxrwx 1 root root 1207959552 2008-04-06 20:53 pagefile.sys*
drwxrwxrwx 1 root root 8192 2008-03-31 13:45 Program Files/
drwxrwxrwx 1 root root 0 2008-03-25 11:58 RECYCLER/
drwxrwxrwx 1 root root 4096 2008-03-25 08:37 System Volume Information/
drwxrwxrwx 1 root root 77824 2008-03-31 16:26 WINDOWS/