René Nyffenegger's collection of things on the web
René Nyffenegger on Oracle - Most wanted - Feedback
 

How I recovered an unbootable NTFS Windows System

Somehow, I managed to destroy an NTFS drive on my laptop so that I couldn't boot Windows anymore. Thanks to Trinux, I was able to recover all data on the Harddisk.
In order to do that, I needed only two floppy disks, rawrite.exe, and a windows machine to which I copied the rescued data. The crashed and the functional PC must be connected to a LAN, as the data is copied over TCP/IP.

Creation of Boot Floppy

First, a boot floopy disk must be created. An image (a file ending with .img) can be downloaded from trinux.sourceforge.net. Following the link trinux-ide, I obtained a file called trinux-0.80rc2-ide.img.
Because rawrite is a dos programm, it doesn't understand long file names, I had to rename trinux-0.80rc2-ide.img in something shorter. I chose t.img.
Using rawrite.exe, I copied the file onto my disk:
rawrite -f t.img -d a:
This command must be entered in a dos box in the directory where rawrite.exe and t.img had been stored.
Now, I could put the boot disk into the laptop and start a minimal linux. But I needed also a second disk on which I put all nessesary files in order to have a SAMBA client: baselib.tgz, smbclient.tgz, smbcore.tgz, smbmount.tgz and smbfs.o. These files can be found in the packages directory of trinux and in the smb fs kernel module directory. I had to make sure that the kernel version matched the module version. So, for version 2.4.21, it would be: here
I saved these additional files onto my 2nd disk, put the 1st disk into the laptop and started the laptop up.
Obviously, Trinux tried to configure the network using DHCP: Configuring eth0: using DHCP. I don't have DHCP, so I had to wait a bit....
After extracting everything, I was asked if I had a package disk. As I had one (the 2nd disk created containg the *tgz), I inserted it and answered y
Please Press Enter to activate this Console. This is what I did, and I sat in front of Trinux.
Now we have to leave the 2nd disk in the drive and mount it, so that it can be read from:
mount /dev/fd0 /floppy
Trinux says something like VFS: Can't find a Minix or Minix V2 filesystem on device 02:00 but it looks like this can be safely ignored.
In order to check if the disk was correctly mounted, an ls /floppy can be typed into the prompt.

Adding samba

Now, smbfs.o had to be inserted into the kernel:
# insmod smbfs.o

Connecting

I then configured the laptop'b IP address:
# ifconfig eth0 192.168.1.10
Now, everything was ready to mount a share (named shr) on my pc (ip address: 192.168.1.5):
# cd /usr/local/samba/bin
# mkdir /share
# ./smbmount //192.168.1.5/shr /share -o username=xxxxxxxx,password=yyyyyyy
230: session request to 192.168.1.5 failed (Called name not present)
230: session request to 192 failed (Called name not present)
# ls /share
Although the smbmount command emmited some warnings of a sort, everything works now fine and I can access the share.