Before you begin:
Burn your Trinity Rescue Kit 3.1 iso to a rewritable CD, because you 'll have to reburn it after it has recreated itself with updates (ntfs files and antivirus).
Looking for the howto on TRK 3.0?
Table of contents:
-What 's the best tip you can give to an unexperienced Linux user?
-How do I map a Windows network drive on TRK3?
-I don 't have a Windows or SMB capable machine on my network, but I do have FTP access somewhere. Can I store files somewhere on TRK outside my ntfs partitions?
-What are the hardware requirements for TRK?
-My mouse doesn 't work after I 've run qtparted. What happened?
-How do I disable/change the blanking screensaver?
-Any other tips?
-For who is TRK intended?
-For who is it NOT intended?
-Why are you doing this (and why for free)?
the internals of this script have heavily changed since TRK 1.1, but the idea remains the same: mount all filesystems you can find on a local computer.
mountallfs will mount all partitions to a mountpoint named after their device name. So /dev/hda1 will be mounted to /hda1
Run without any options, it will mount ntfs drives with the linux kernel builtin driver, giving you full read access but only very limited write access (overwriting files of the same filesize with ntfscp)
'mountallfs –c' will also mount any filesystem, but in particular this will mount ntfs with the captive-ntfs driver. It emulates the required subsystems of the Microsoft Windows kernel by reusing one of the original ntoskrnl.exe and ntfs.sys driver files from Windows XP service pack 2.
Because of licensing restrictions from Microsoft, I cannot provide these two files from SP2 along in the TRK iso file, since you have to be a legally licensed Windows XP user in order to use them. Read more about it on the site of the original captive developer and my howto on adding these files to TRK after you downloaded it.
You really want to do this, because it opens up a world of possibilities with TRK.
There are some other options you can add to mountallfs at the end, like –q or –quiet, which make it a bit more silent and not show you the result of what has been mounted.
--ignore-memfree: normally, when using captive support for mountallfs, the script will check if your machine has enough RAM to run, since this option uses quite a lot of resources. If you have less then 64Mb of ram, it will refuse to run. If you really want to try anyway, you can add this parameter (which is otherwise harmless, it will probably result in some errors and killed processes from the kernel)
-'mountallfs -f' (since 3.0 build 203): mount ntfs drives with ntfs-fuse (=userland driver). This option does not require any additional MS files and gives you decent and performant write capabilities on ntfs filesystems. The only limitation is that you can only create up to 10 files/subdirectories per directory. Other limitation is that F-prot (virusscan --f-prot) cannot disinfect/delete files through fuse.
actually this script can run two totally different antiviruses, nl. ClamAV and F-prot
° The default virusscan (without any arguments) will run you ClamAV. If it finds a network connection (based on the existence of DNS or proxy parameters), it will try to get updates over the internet, otherwise it will run without update.
ClamAV is one of the best up-to-date virusscanners there is, and it is GPL licensed, so free for all.
The disadvantage is that it can only 'recognize' viruses, so this means it cannot disinfect files should. In order to still be useful, I made the script quarantaine the infected files and put them in a directory on the drive where they were found in /TRK-INFECTED/infected-<drivename>.tar.gz.
Once quarantaine is done, all infected files are deleted.
Exceptionally, this might result in a machine not booting at all anymore afterwards, because maybe infected but system critical files were deleted. You can always restore the system as it was before by untarring the quarantaine file afterwards when booted again with TRK.
You can speed up scanning a little bit by scanning only for common file extensions by adding ' —commons' to your commandline
° 'virusscan –-f-prot' gives you the other antivirus, F-prot, which is actually NOT on the TRK CD but is being downloaded from their website (or you can put it on TRK with 'updatetrk'). The reason for this is that I want to distribute TRK completely free of non GPL software. F-prot is a very good antivirus and it 's free for individual users, but it 's not GPL, and they retain the right to change their license whenever they see fit. In this way, it is up to them to provide it for free or not. Should they ever give that up, they just need to stop distribution. Furthermore, their license prohibits me from distributing it myself. But in the way I do it now, I 'm legally ok.
That being said, the advantage of using F-prot is that this one CAN disinfect files non destructively, so if your legal situation complies with the F-prot license, you may use this option. Read the license here.
For both antiviruses to be able to clean, you need captive-ntfs ability, otherwise virusscan can only detect. Because captive-ntfs has a rather large overhead and is kind of slow, virusdetection is being done with the linux ntfs driver, virus disinfection is being done with captive-ntfs only on those infected files. NTFS Fuse doesn 't work on disinfections unfortunately.
basically, this script still does the same than what it did in TRK 1.1, but has been thoroughly debugged and optimized (so now it works on both ntfs as well as fat32 installed Windows’). Just run it at the prompt and it will search for any Windows installation on the local computer.
By default it will reset the builtin administrator account, but you can specify other accounts as well at the commandline. In fact, you can add any parameter from chntpw which will be parsed to the commandline. So winpass –l will list you all usernames found in the SAM. Should you have troubles that metacharacters are present in the username (like the Ø or something), you can still use the HEX reference to the username listed next to it. Be sure to prepend that with a '0x'. More info on that can be found in the manual of chntpw. Watch out with disabling syskey! Most of the time you don 't need to disable syskey. It removes strong password encryption, so all local passwords become invalid, since the hashes don 't correspond to the encryption algorythm anymore. This has been known to cause problems with Windows XP's product activation. Read the warning well!!!
this is actually the same script as winpass, but called in this way it copies all registry hives and opens them (sam, security, system and software). Only drawback is that it cannot know which user registry to open, since they are located in different directories. Because chntpw is not scriptable, I cannot read registry hives from a shell script to determine the location of userhives.
Once running, refer to the documentation of chntpw/regedit on how to use it.
After you did your work in the registry, just exit and the changed hives will be written back.
this is a completely new script since TRK 3.0
Clonexp clones an ntfs partition to another computer over the network. Both PCs must be running TRK3. The one who is receiving the data must run with sshd enabled (option 8 in the startup menu)
(Basically what it does is run ntfsclone in save mode to stdout at one computer and restore mode from stdin on the other, piping over ssh between eachother.)
When running clonexp, make sure your source partition is smaller or equal to what can fit on the destination. Ntfsclone (and subsequently clonexp) cannot (yet) dynamically resize a partition, so it 's a good thing make the destination partition equal or bigger in size than the source. Do this easily with qtparted, supplied on TRK. If your maximum possible destination size is smaller than your source, try making your source smaller with qtparted. At least, if the data on it is less than the destination and the volume is not too fragmented.
Also make sure neither of the local nor remote filesystems are mounted, or the script will exit.
Clonexp can run in two modes: without any arguments, it runs in interactive mode and prompts you for source device, destination host and destination device. It will each time test whether these things exist.
You can also run it in a single commandline, in this way (drop the <>):
clonexp <sourcedevice> <destinationhost>:<destinationdevice>
e.g. 'clonexp /dev/hda1 192.168.0.7:/dev/hda1'
It will prompt you once for the password you have entered on the remote TRK machine and then start copying the data. There is also the option '--bkupbr', which will first backup your partition bootrecord and later save that as a file on your newly created partition. Although it may never really serve, I give this opportunity should you ever be unable to boot from the partition and you want to play around a bit with your old bootrecord. This might as well completely obliterate your partition, so use with caution (backups 'n stuff ready...)
I was once able to make a cloned unbootable partition bootable this way by afterwards running from the Windows XP recovery console and do a chkdsk.
Trinity Rescue Kit 3.1 is now able to update itself through the script 'updatetrk'. This requires decent Internet connectivity.
The script is very simple to handle:
Suppose you 've booted from a PC with a Windows XP (2K or NT is also good), you can run updatetrk without any option.
Because TRK needs at least 200Mb to rebuild itself, it will look for a 250Mb pagefile.sys on you local harddisk and create a temporary filesystem on it. Since a pagefile doesn 't contain any valuable data when the PC is not running from Windows, it 's ideal to create a loopback device on it and create a workbench.
If you don 't have a local pagefile.sys (which can be either on NTFS or FAT32), you will have to specify a location yourself where TRK can be rebuild 'updatetrk -d /mountpoint/dir/'). Make sure this is on an ext2 filesystem somewhere where at least 250mb is available. A FAT partition will do too I think (never tested that), but it will surely complain about file attributes not being kept (which is no problem I guess). NTFS will in most cases not work 100%, even if ntfs-fuse has reasonably good write capabilities. If your pagefile is too small, increase the size from Windows. Since most recent PC have at least 256MB RAM, your pagefile will have at least that size, so you should be ok.
What will 'updatetrk' do?
Well, first it will run 'captive-install-acquire', a utility included from the Captive NTFS project. This tool will search your local harddrive for the best available ntfs.sys and ntoskrnl.exe. If it doesn 't find them locally, it will download them from Microsoft. Follow its instructions, it 's extremely simple (hit a few times enter and a 'd' when done)
Next, it downloads F-Prot + updates
Then, it downloads the latest virus signatures for ClamAV
Finally, it copies the complete contents of /bin, /sbin /etc and /lib to your new TRK. This means that anything you modified or added in these directories will be included in your new TRK. This gives you an easy way to make small modifications/additions to TRK.
This script can be run time after time to keep your antivirus signatures up-to-date.
When no destination parameter was given to TRK, it will move the newly created isofile to the drive where it found your pagefile.sys in directory 'temp'. Most likely this will be C:\temp. Burn that to CD with your favorite burnprogram in Windows or use 'cdrecord', now included in TRK.
It 's a big word, but TRK3.1 could be called 'enterprise ready' since a system administrator can configure his lan in a way any TRK3 can take advantage of it in terms of proxy configurations and user optional script executing, a much wanted feature from the past, but hard to implement since you 're working with read-only media.
Finally, the solution is kind of revolutionary: by activating an otherwise unused parameter in you DHCP server, you can have a TRK point to a server where it can find its config and scripts.
This option is from an obsolete RFC from 1983 called 'Resource location server', which was a UDP protocol that could tell you where to find things like routes and smtp servers. I 'm using it now to provide TRK with an IP-address where it can find a simple webserver on which resides /trk/trk3options.conf
If you 're running ISC dhcpd, add this line to /etc/dhcpd.conf:
option resource-location-servers your-trk-webserver-ip-address;
On a Windows server, go to Administrative tools=>DHCP => go to your scope => scope options => option 11 Resource Location Servers.
I wouldn 't worry too much about enabling this option to break something in your network. I 've been running this for some time now at my office where there are about 100 Windows PCs on dhcp. Nobody hasn 't complained so far.
Anyway, when a TRK3 boots and finds a 'resource location server' from DHCP, it will indeed look for resources from this configuration file.
Below is an example of such config file, it more or less speaks for itself.
The file is /var/www/html/trk/trk3options.conf on my local webserver
TRKSECTION WGET BEGIN
TRKSECTION WGET END
TRKSECTION LINKS BEGIN
TRKSECTION LINKS END
TRKSECTION CHECKUPDATESARGS BEGIN
TRKSECTION CHECKUPDATESARGS END
TRKSECTION TRKSCRIPT BEGIN
color ltblue && echo " TRK3 in my office" && color off
action "Fetching freshclam.conf" wget -t 1 -T 1 http://184.108.40.206/trk/freshclam.conf -O /etc/freshclam.conf
TRKSECTION TRKSCRIPT END
-TRKSECTION is the word that determines where a config section is defined. The word in between is the first argument that a utility on the TRK CD called 'readtrkconf' will use to read and output to its appropriate config file. BEGIN and END speak for themselves-WGET, LINKS and CHECKUPDATEARGS (for F-prot) are sections that are mostly in there to configure proxy-support for these utilities that are very often used in TRK scripts. It 's good to put in your proxy parameters.
The WGET section is going to be written to /root/.wgetrc, LINKS to /root/.links/links.cfg and CHECKUPDATEARGS are arguments that will be added to the F-prot update script (again in this case proxy)-One section that is not mentioned in the example is TRKSECTION F-PROT
where you can put the variable FPROTURL to point to your local download where you keep f-prot
TRKSECTION F-PROT BEGIN
TRKSECTION F-PROT END
-TRKSCRIPT is a section where you can do basically anything you want, so be very carefull with what you put in here because it will have an effect on any machine you boot with TRK3 . It will basically execute as a script in the same environment from the last script run by TRK, /etc/init.d/trklocal
What I put in the example here is to download an adapted version of the ClamAV config file 'freshclam.conf’. Refer to the ClamAV manpages for help on this file, but in here I 've put my proxy parameters too.
I don 't need to tell you what other opportunities this opens up.
Using the same method as with making you LAN 'TRK3 compliant', you can do the same for any local PC.
Just create on the local drive of the PC a directory named .trk (notice the dot). In that directory you put a file called trk3local.conf
From this file will be read TRKSECTION TRKSCRIPT BEGIN until TRKSECTION TRKSCRIPT END and will in the same way create and execute a script called /bin/trklocscript-hda1 where 'hda1' is your local harddrive at /dev/hda1 (most likely your C:-drive in windows)
So for instance from a running TRK3 the file /hda1/.trk/trk3local.conf which looks like this:
TRKSECTION TRKSCRIPT BEGIN
echo "It works!"
TRKSECTION TRKSCRIPT END
will create a script called /bin/trklocscript-hda1 which will execute and output 'It works!'
The rest is peanuts
If you 've somewhat been nosing around on TRK3 already, you might have noticed that it has quite a lot of startup options. In fact, a good reader doesn 't need many more explanation than what is already provided at startup, but here it is again, somewhat more elaborated.
In the graphical screen you can 't actually see what you type, so unless you only need to specify a single character startup option, it 's best to switch to textmode with F1
The options explained:
-1: or trk3 will run TRK3 with all the default options enabled. This means it will run partly from CD, keeping your CD unavailable for other things in the mean time, but will boot faster. Keyboard will be default qwerty and fontsize about ¾ of a normal font in a screensize of 800x600 in VESA compatible framebuffermode. Some videocards are not so VESA compliant and can therefore not benefit from the graphical possibilities of TRK (like the Intel 815 chipset). They will have to run in textmode, preventing them from using qtparted and links (and my nice background logo)
-2: Instead of keeping runtime binaries mostly on CD, copy them completely to memory and eject the CD. This allows you to reuse your CD drive, but it requires about 70Megs more RAM (so at least 128Mb in total, but recommended minimum is 192Mb). It will also add some more time in startup, but will afterwards gain in response time since you don 't need to read from your CD drive anymore.
The other advantage is that you can boot multiple machines sequentially with just one TRK3 copy. Ideal for doing TRK to TRK copies.
-3: Instead of my preferred smaller 12 pixel font, use the standard 16 pixel font.
-4: Run immediately in VGA mode with small fonts if you know your machine won 't boot in framebuffer mode. As I said before: no links and no qtparted
-5: Belgian azerty keyboard. Since I 'm a flemish Belgian, I 'm taking the privilege of adding my own localized keyboard to the startup options. Other keyboards can be easily activated using short scripts after startup.
Here are the scripts for which I 've prepared keyboard loading:
es : spain
fr : french
it : italian
no : norvegian
se : swedish
us : north american
-6: runs virusscan on all your drives. Stupid option actually, but this is about the only thing you can do that is set-and-forget without the need for any interaction. This runs virusscan without any arguments, so with ClamAV. You will get no login as long as this is running.
-7: try more PCMCIA cards and USB ethernet adapters. I found that kudzu is not really good with PCMCIA cards and USB stuff and I found out that the easiest way fix this was to just have support for pcmcia bridges compiled in my kernel, start cardmgr and try every module I find until success. Same with USB nics This will only try this for PCMCIA and USB ethernet cards/adapters
-8: run a ssh server, a very nice feature, giving you the ability to remotely work on a machine that your nexter has started up for you.
For security reasons, you will first get prompted to create/change the password, after which in green will be displayed the IP-addresses your TRK will listen to.
-9: run local scripts from ./trk/trk3local.conf found on any local filesystem. In this way you can make computer specific scripts and put them on the harddisk (see more in section 2.3 from this page on howto do this)
-0: single usermode. For debugging purposes or to avoid hardware detection and run stuff manually, run in this mode.
Since build 201: if you encounter startup problems, you can run in some sort of debug mode: go to the startup command prompt with F1, type 'debug' (+ any other option from the above). This will run you rc.sysinit in 'set -x' mode, and run kudzu and modprobe with strace (debugger) so if your TRK should hang at some stage, you can see what is the last thing it 's trying to do. Use this mode to report any startup bugs to me.
Bash command completion! It 's the best thing since the mouse was invented.
Since you 'll be working on a Linux livecd but with Windows files, you 'll be facing a lot of long filenames, not to speak of the spaces in them.
So instead of having to type cd '/hda1/Documents and Settings/Administrator/My Documents' (yes, the syntax of slashes on driveletters is somewhat different in Linux/Unix), just start typing the name of each directory and press <tab>. Once there 's only one possibility of subdirs or commands in your path, your shell (which is bash, comparable to cmd.exe or command.com, but a zillion times better) will automatically complete your command line, escaping spaces and everything (so in our example you 'll get cd /hda1/Documents\ and\ Settings/Administrator/My\ Documents/ Also know that Linux (as most other operating systems except Microsoft ones) is case sensitive, so respect capitals and non-capitals at all times.
Once you 've got the nack of it, you 'll always hate cmd.exe for not having this (well, actually it has it, but limited).
The easiest way to work is to first add a local user called "root" on a Windows NT/2K/XP machine somewhere. This user does not need to be administrator on your Windows machine, he just needs to have read/write access rights on some share. So also create a share.
Why root? Because it 's the logged on user in TRK3 and the default to be taken at the command line.Ok. Let 's say you 've created the user root, which has access to your Windows XP machine on share "rescue". Note also the IP-adress, although Netbios name seems to work too. At the command line in TRK type: "mount //220.127.116.11/rescue /mnt0"
Next you 'll be prompted for a password et voilà, you 're in, you can start copying files to /mnt0. To test, try "touch /mnt0/testfile.txt"
Let 's say you want to undelete files on ntfs. "ntfsundelete" always requires you to write recovered files to elsewhere than ntfs partitions, because ntfs write access is dangerous. If you don 't have a sharing Windows machine, but nonetheless access to an FTP server, you can put the files in /tmp, which is a symbolic link to /dev/shm which is actually your complete available RAM. If you have lots of RAM, you can copy lots of files there. Once you 've put them there, you can upload them with "ftp" or "lftp –u username" Needless to say that your RAM is cleared when you reboot.
Yes, no problem. USB storage like USB keys or external disks will show up as scsi disks in /proc/partitions. Plug in your usb storage device and run mountallfs. It will most likely show up mounted as /sda1
A Pentium that can boot from CD and 64Mb RAM. But this is the absolute minimum. You will not be able to run TRK from memory nor will you be able to run captive-ntfs (this consumes some memory).
Recommended is 128Mb and to run from memory 192Mb.
But nowadays most PCs have at least 256Mb of RAM, so I wouldn 't worry about the hardware requirements
I killed it. Qtparted doesn 't like running a gpm mouse together with its own driver. It will show a lot of garbage on your screen if you do so. Restart your mouse with the command 'mouseps2' for most ps2 compatible mice (even USB mice) or if you have a really old one, 'mouseser' for serial mice.
setterm –blank 0 (0 is disable, all other values are minutes)
Here 's a list, if you need anything else, just ask and justify why and I 'll put it in next versions:
arch awk basename bash bash2 bggetmotd bootrecord cat chgrp chmod chown clonexp consolechars cp cpio cut date dd df dmesg dnsdomainname doexec domainname echo ed egrep eject env ex expr false fgrep find gawk gawk-3.1.4 getmotd gettext grep gtar gunzip gzip hostname id igawk ipcalc kill lddlibc4 link ln loadkeys login ls mail mkdir mknod mktemp more mount mountallfs mv netstat nice nisdomainname ntfsundeleteall open ping progress ps pwd rbash rbtrecord readtrkconf red regedit rm rmdir sed sh sleep sort stat stty su sync tail tar touch tr trkscript true umount umountallfs umountallfs.sh uname unlink usleep vi virusscan wc winpass ypdomainname zcat
arping autoshell autoshell-links cardctl cardmgr cdsymlinks chassis_id consoletype dhclient dhclient-script dhcpcd dosfsck dump_cis e2fsck fsck fsck.ext2 fsck.ext3 fsck.minix ftl_check ftl_format fuser getkey halt hwclock ide_info ifconfig ifdown ifplugd ifplugstatus ifport ifup ifuser init insmod insmod-25 ip killall5 klogd ksyms losetup lsmod lsof makedev modprobe modprobe-24 modprobe-25 mount.captive mount.captive-cdfs mount.captive-ext2fsd mount.captive-fastfat mount.captive-ntfs mount.smb mount.smb3 mount.smbfs mount.smbfs3 nologin pack_cis pcic_probe pcinitrd pidof reboot rmmod rmmod-24 rmmod-25 route runlevel scsi_id scsi_info service setsysfont shutdown sulogin swapoff swapon sysctl syslogd telinit trypcmcia tryusb udev udevd udev-klibc udev-migrating-devfs-rules.pl udevsend udevstart udevstart-klibc update
be bonnie burnBX burnK6 burnK7 burnMMX burnP5 burnP6 captive-cmdline captive-lufsd captive-lufsd-bin captive-lufsmnt captoinfo chntpw clamdscan clamscan clear color curl curl.sh dbus-cleanup-sockets dbus-daemon dbus-send de diff dig dircolors dk du es fatback fbmngplay.static fbresolution fbtruetype.static file findsmb3 floppyd floppyd_installtest fr freshclam ftp gpart gpm-root hal-get-property hal-set-property head hltest host it kbd_mode killall ldd lftp lftpget links links2 locale lshal lz mattrib mbadblocks mc mcat mcd mcedit mcheck mcmfmt mcomp mcookie mcopy mcview mdel mdeltree mdir mdu mesg mev mformat minfo mkdirhier mkmanifest mkntfs mlabel mmd mmount mmove mouseps2 mouseser mpartition mrd mren mshowfat ms-sys mtools mtoolstest mtype mxtar mzip nc net netcat nl nmap nmblookup3 no nohup nslookup ntfscat ntfsclone ntfscluster ntfscp ntfsfix ntfsinfo ntfslabel ntfsls ntfsresize ntlm_auth passwd perl perl5 perl5.8.6 perlbug photorec python rpcclient run-bonnie scp se setterm shred sigtool smbcacls smbclient smbclient3 smbcontrol smbcquotas smbget smbget3 smbmnt smbmnt3 smbmount smbmount3 smbpasswd smbprint smbprint3 smbspool smbspool3 smbstatus smbtar smbtar3 smbtree smbumount smbumount3 ssh ssh-add ssh-agent ssh-copy-id ssh-keygen ssh-keyscan strace strings tdbtool tee testdisk testparm testprns tgz tic top ttcp ttcp-receive ttcp-transmit tty udevinfo udevtest uk uniq unzip uptime upx us uz vi vim-enhanced wget which
arping badblocks blkid captive-install-acquire captive-install-fstab captive-sandbox-server chroot clamd create-cracklib-dict debugfs debugreiserfs diskdrake dumpe2fs ethtool fdisk filefrag findfs fix-mouse-psaux fsck.reiserfs fstab-sync gpm hald hdparm hwclock initlog kudzu lilo logsave lspnp mdadm mdassemble mkdosfs mke2fs mkfs mkfs.bfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.minix mkfs.msdos mkfs.ntfs mkfs.reiserfs mkfs.vfat mkfs.xfs mkinitrd mklost+found mkntfs mkpv mkraid mkreiserfs mkrescue mkswap module_upgrade mouseconfig ntfsclone ntfscp ntfslabel ntfsresize ntfsundelete partimage partimaged partimagedssl partimagessl qtparted raid0run raidhotadd raidhotremove raidsetfaulty raidstart raidstop reiserfsck reiserfstune resize2fs resize_reiserfs sfdisk splash splash.sh sshd tcpdump tune2fs
-use up to 6 commandlines at the same time, switch between them with alt+function key 1 to 6. When in qtparted or links, use ctrl+alt + function key
-linux fdisk might get your lost filesystem back if it filled your entire disk: suppose for some reason you partition table is blank but you know your entire disk was one big partition, you can 'recreate' it with fdisk. fdisk is not destructive on your filesystems, but on your partition table.
Here 's how to recover a lost NTFS filesystem which enclosed an entire disk:suppose your harddisk to rescue is /dev/hda fdisk /dev/hda
if any partition still exists but is not correct, delete them (d)
after deletion of all partitions (also extended ones), create a new one
choose primary partition
First cylinder, Last cylinder: enter twice =entire disk
Toggle partition type
Choose the 7th (you can check it out with L to list them)
Make sure the partition is set active, Windows depends on it
Check what you 've done with p and write to disk with w. Only at this stage will there be made changes to the partition table. Until now you could still exit with q or ctrl+c
If your partition table was a bit more complicated, try testdisk.
For anyone who has a logic mind and a pretty decent computer knowledge. The more you know about Linux and Windows, the more you will get out of it.
But the howto will already get you somewhere, depending of what you 're intend to use it for.
Lots of people, especially not for 'Twelve o’clock Flashers' or not even the somewhat higher on the ladder 'Nexters' (=people who know nothing more about computers then clicking next-next-next all the time and clicking "yes" on everything that tries to install itself). Please, if you are a Nexter, do not e-mail me with questions 'how do I burn this thing to CD?'
Nexters with direct Internet connections might always try to start with option 8, a ssh server, so a decent sysadmin can connect to their machine for them.
Well, it must lie in my nature to build new things: when I was a kid, I liked playing with Lego, because it gave me the ability to create things that hadn 't been done yet, or at least not in the way I thought they ought to be. I 'm often inclined to step of the beaten path, be a non-conformist and do things my way, often to walk into dead ends too. But at least it makes me look at things from another perspective. Eventually you end up with the knowledge of why what works and why what doesn 't.
That 's also how I see life (oh oh! here comes my two cents, try to follow me!): ask yourself all the time WHY things are what they are, even if they don 't look logical to you, there 's always a logic in it for somebody else. Try to look at things from someone elses view.
I 'm a strong believer in LOGIC: if you 're a Star Trek fan you will know that the Vulcans live by it. Yet I 'm far from being like them, because I 'm way too emotional. Furthermore, I wouldn 't want to be completely like them because their logic is too extreme which makes it illogical to live by it. When it comes to taking decisions I believe you need to find the balance between logic and emotion (where logic primes). Logical elements in a decision are for instance that your gain may not be more than someone elses loss. Example: you 're in your car driving in the city and you have to stop by the bakery 's but there 's no legal parking space nearby. You assess the situation and you make sure that the street is wide enough for cars to pass by without having to change lane when traffic is busy. Traffic is not too busy and you decide to doublepark, making sure that you do not block any of the other cars should they want to leave before you get back. To me that 's a logical and good decision, because your gain (the bread you 're getting within 5 minutes) is NOT LESS than what other people lose (they can pass by easily without having to slow down much). If you were to block the whole street, your bread would be a small gain compared to all the people you made waiting for YOUR bread.
So where does emotion come in touch with logic in decision making? Best is to explain it with yet another example. Suppose you want to buy another car. If everyone was to reason logically, a lot of cars wouldn 't get sold because they would choose for the best car that meets their logical needs. The logical need for a car is going from point A to point B within a reasonable time. A variable can be your need to transport cargo (a big family requires a big car).
Probably you would end up with some ugly Korean car which has the best price compared to its functionality.
But the question is: WOULD YOU FEEL GOOD ABOUT IT?
So this is why one decides to drive other cars. In my case, I drive a 3 doors Alfa Romeo 147 JTD 16V 126hp with leather seats for a daily driver: the car suits my needs quite nicely, it gets me from point A to point B, but why not 5 doors, less horsepower, normal seats and why even an Alfa Romeo?
Because this is where it comes to emotion: logically the car fullfills my basic needs but in the end you want to feel good about what you drive. Emotionally speaking I like the looks of an Alfa, I like some horsepower and I like some comfort, all being within a reasonable budget. So there 's the emotion in a logical decision, because the result is that I feel fine about it, which is a logical course in life.
So, what does this have to do with me creating Trinity Rescue Kit and giving it away for free?
Well, I wanted to contribute something to the world. My gain is that I acquired Linux knowledge in making TRK, a few bucks from donations (and now hopefully from Google Ads too) but mostly I get a good feeling when people send me success stories. And eventually, it looks good on my CV.
That 's it, for any more questions, contact me.