TechUSB is a bootable computer repair operating system designed to automate the computer repair process. It provides IT Professionals with a pre-built linux-based environment that enables them to be more accurate and efficient in their workflow.
TechUSB uses both custom-made and publicly available tools to diagnose and repair computers. Below are some of the key applications included with TechUSB:
- TechUSB Automator – Designed to automate the hardware diagnostic and malware removal process. Simply select the tools you want to use, click “Run”, and return to a detailed report.
- System Profiler and Benchmark – Gather information about your system’s hardware and operating system, perform benchmarks, and generate printable reports either in HTML or in plain text formats.
- GParted – GParted is a free partition editor for graphically managing your disk partitions.
- GSmartControl – GSmartControl is a graphical user interface for querying and controlling SMART (Self- Monitoring, Analysis, and Reporting Technology) data on modern hard disk drives. It allows you to inspect the drive’s SMART data to determine its health, as well as run various tests on it.
- Grsync – A powerful tool that can be used for recovering data from a hard drive. It can be used over a network. We have a detailed guide on its usage here:
- Phoronix Test Suite – A collection of benchmarking and diagnostic tools.
- Iceweasel Web Browser – A derivative of Mozilla Firefox.
- LXTerminal – A standard Linux terminal application.
- File Manager – View and edit files.
- Leafpad – Leafpad is a simple text editor that emphasizes simplicity. It is simple to use and starts up quickly.
- GIMP – GNU Image Manipulation Program can be used to view and edit image files.
- CHNTPW – chntpw is a command-line tool for resetting or clearing local passwords used by Windows NT, 2000, XP, Vista, and 7. It does this by editing the SAM database where Windows stores password hashes. To view the options within CHNTPW, open LXTerminal and type ‘man chntpw’.
- IP Traffic Analyzer – IPTraf is a console-based network statistics utility for Linux. It gathers a variety of figures such as TCP connection packet and byte counts, interface statistics and activity indicators,TCP/UDP traffic breakdowns, and LAN station packet and byte counts.
- Add your own applications – You can install any Debian-compatible application on TechUSB, just like you would in a normal Linux distribution. See how to do so here.
Creating a TechUSB
Creating a TechUSB Drive using TechUSB Creator
- Sign in to your TechPortal Account
- Navigate to the “Downloads” page. You will see the download links for each product.
- Download the TechUSB Creator to your desktop.
- Insert a USB drive with at least 2GB of space, and make sure the drive is mounted. WARNING: This drive will be wiped, and any data on the drive will be lost.
- Once the download is complete, run it with administrator privileges.
- If you are running v1.0.0 of TechUSB Creator, enter your authentication information. You can find your authentication information on your TechPortal on the Downloads page. Version v1.0.1+ are pre-authenticated.
- Select the USB drive from the list that you want to turn into a TechUSB. Please note that the drive will be wiped, so be careful in your selection. TechUSB Creator does not let you select C: as the drive, just in case.
- Please wait while the Creator downloads any necessary missing files, this can take a while because they are around 800MB.
- Boot the drive.
TechUSB Creator for Linux
We have an open-source version of TechUSB Creator for Linux available on Github.
Older Computers That Do Not Support USB Booting
In the event that you need to boot TechUSB on a computer that does not support USB Booting, you can download the ISO of Plop Boot Manager from your TechPortal and burn it to a CD. Booting into Plop Boot Manager will allow you to boot from a USB device.
If the computer uses UEFI booting, you’ll need to turn off Secure Boot in BIOS before you can boot into the drive. In some cases, you may also have to turn on Legacy Boot.
Installing to a Hard Drive
You can also install TechUSB to a hard drive.
This is especially useful if you want to create a PXE boot system on your network. To install TechUSB to a hard drive, you’ll need to boot into TechUSB from either a USB drive or DVD. Navigate to the System Tools category in the menu on the top left of the screen, and click Install TechUSB to HD. Follow the wizard and you’ll be all set up.
Creating a TechUSB from within TechUSB
Creating an additional TechUSB when already booted into a TechUSB drive is easy. Simply go to the Application Menu in the top left and navigate the menu to System Tools > Install TechUSB to flash drive.
Follow the prompts and be sure to create an overlay so that the drive will be able to save information after reboot. The advantage to this approach is that any changes you make within the TechUSB Operating System will be saved and transferred to the new drive.
TechUSB Boot Menu
Once you select the USB drive you’ll be taken to a boot menu with multiple options.
- TechUSB – Boots into TechUSB OS
- TechUSB (Debug Mode) – Boots TechUSB OS but pauses on each of five boot steps in order to help determine which step is preventing TechUSB from booting.
- Grub4dos – Boots into Grub, which gives you a list of all the available boot devices connected to the computer.
- Memtest86 – Runs Memtest86+, a bootable utility for diagnosing system memory issues.
- TechUSB (Failsafe Mode) – Boots TechUSB with hardware recognition disabled, which may help compatibility on some machines that are having driver issues.
- Framebuffer graphics (notebooks) – May provide options that work better for some laptops with unusual graphics requirements.
- Boot from HD – Boots from the primary disk installed in the computer.
- Custom ISO’s – Allows you to select any Custom ISO images you may have inserted into the TechUSB Boot Menu with the Creator.
After you choose a boot option, you will be shown a prompt for allocating space for persistence on the USB drive. If you want your changes within TechUSB to be saved when you shut the computer down, you will need to enter a number between the provided minimum and maximum. When you press OK, TechUSB will create a file on the USB drive that will be written to when you make changes. You even have the option to encrypt that file. We recommend allocating at least 500MB during this stage. This will enable you to keep your antivirus definitions and other saved files on the drive for future runs.
When you run TechUSB for the first time, you will need to enter your authentication information. You can find this information on the “Downloads” page on your TechPortal. If you have allotted space for persistence, TechUSB will save this information so that you do not have to enter it again. Please note that you are required to have an Internet connection to authenticate.
After successfully completing the installation and authentication you will be presented with the TechUSB Operating System. It will automatically open the TechUSB Automator for you on the home screen. This chapter will cover the specifics of all the tools, hidden functionality, and workflows built into TechUSB. Below is a screenshot of the TechUSB Automator:
Stage Descriptions System Information
This stage runs regardless of what other stages you decide to run. It gathers information about the CPU, Motherboard, Hard Drives, System Memory, BIOS, and any peripherals attached to the Motherboard, such as a Graphics Card.
HDD SMART Test
This test uses the SMART capabilities of Hard Drives to check the electrical and mechanical performance as well as the read performance of hard disks. First, it checks to see which drives have SMART capabilities and turns them on if they weren’t already. Then, it reads the drive’s overall health- assessment status to see if the drive has already indicated a failure. If it passes that, it will run a SmartCtl Short-Test which takes on average 2 minutes. The results are printed to the report, along with a lot of other useful information about the drive. Even if both tests pass, you should look at the drive specific attributes to see if anything is pre-fail. You can hover with your mouse on the table headers in the report for information about how to read the test results. An example is shown below:
HDD Block Test
This test scans every block in a hard drive for bad blocks. You can configure the test to stop if it finds a certain number of bad blocks. Before the test runs, it checks to see if a HDD SMART Test was run previously, and if it failed. If it failed, HDD Block Test will skip the drive in order to increase the chances that you are able to get data off of it.
This stage tests the system memory using up to 17 unique tests. You can choose how many of the tests you want to run based on how comprehensive you want this stage to be. The tests listed below are run in sequential order. The first 7 tests are far faster than the ones that follow, so if you want to run a quick test you should use the first 7 or fewer. TechUSB’s default ‘Diagnostic’ preset runs the ‘Quick Tests’ mentioned below.
- Random Value Test
- Compare XOR Test
- Compare SUB Test
- Compare MUL Test
- Compare DIV Test
- Compare OR Test
- Compare AND Test
- Sequential Increment Test
- Checkerboard Test Solid Bits Test
- Block Sequential Test
- Bit Spread Test
- Bit Flip Test
- Walking Ones Test
- Walking Zeroes Test
- 8-bit Writes Test
- 16-bit Writes Test
FS Health Test
This test checks and repairs the filesystems of all the hard drives attached to your computer. It works on the following filesystem types: FAT, FAT32, vFAT, NTFS, ext2, ext3, ext4, and HFS+. In some cases with NTFS drives it will schedule a chkdsk to run on the next boot, rather than run filesystem repairs within TechUSB.
This test scans all available drives using ClamAV’s antivirus engine.
This test scans all available drives using AVG’s antivirus engine.
Command Line Interface (CLI)
Using a terminal window can be helpful for exploring drives, performing manual tasks, and troubleshooting. To get into a terminal view, you can click the LXTerminal shortcut on the desktop. This will open a terminal where you have root access.
Below are a few useful commands that will help you perform useful tasks, and their manual pages detailing how to use them. If you’re familiar with Bash or the Linux Command Line, much of this will be a review to you.
- cd – http://unixhelp.ed.ac.uk/CGI/man-cgi?cd
- ls – http://unixhelp.ed.ac.uk/CGI/man-cgi?ls
- mkdir – http://unixhelp.ed.ac.uk/CGI/man-cgi?mkdir
- mount – http://linux.die.net/man/8/mount
- less – http://linux.die.net/man/1/less
- vim – http://unixhelp.ed.ac.uk/CGI/man-cgi?vim
- lshw – http://linux.die.net/man/1/lshw
- fsck – http://linux.die.net/man/8/fsck
- dmidecode – http://linux.die.net/man/8/dmidecode
- lspci – http://linux.die.net/man/8/lspci
- lsusb – http://linux.die.net/man/8/lsusb
- smartctl – http://smartmontools.sourceforge.net/man/smartctl.8.html
- fdisk – http://linux.die.net/man/8/fdisk
- ethtool – http://linux.die.net/man/8/ethtool
- netstat – http://linux.die.net/man/8/netstat
- route – http://linux.die.net/man/8/route
- ssh – http://unixhelp.ed.ac.uk/CGI/man-cgi?ssh+1
- rsync – http://linux.die.net/man/1/rsync
- du – http://linux.die.net/man/1/du
- dd – http://linux.die.net/man/1/dd
Installing New Applications
Using Apt-Get – Text based Package Manager
Adding programs to TechUSB is very similar to most linux distributions. Knoppix (the platform that TechUSB is based on) does not have an app store but instead uses the tried and true
apt-get package manager to perform the same functions.
For those who are not familiar with
apt-get, it’s a simple program allowing users to download, update, and remove programs in an operating system. It is a terminal based application so there is no graphical user interface or GUI.
To use apt-get we will first launch LX-Terminal (see desktop in TechUSB). Before we start downloading any new programs, it is good practice to perform any updates to
apt-get available. To do this, type
sudo apt-get update && sudo apt-get upgrade.
Finally we are ready to install new programs. First, we must discover the name of the package that we would like to install. Usually it is something obvious like gimp or google-chrome. But to be sure, we should do a quick search and find the name of the package. An easy way to do this is to search Ubuntu’s package manager for the program’s name and copy what we find. For example if you type in “Chromium” (the open source version of Google Chrome” we will find that it is referenced by “chromium-browser”.
Now we need to install our program! To do so type
sudo apt-get install [package]. The process is usually pretty quick, on the order of a few minutes typically. There’s built in documentation for apt-get that can be accessed by typing
man apt-get, or viewed online here.
Synaptic – GUI Package Manager
An additional option is to use the Synaptic Package Manager. This manager does have a GUI. To use Synaptic we’ll need to install it.
Open LXTerminal and type
sudo apt-get install synaptic
Once complete, type
sudo synaptic to launch the program. From here you can search for your package by typing the program name (e.g. chromium). Select the package you’d like to use and click “Mark for Installation” and click “Apply”.
That’s it! You’ve got everything you need to install packages using Synaptic. For additional documentation, see this page.
In some cases you may want certain applications to run on startup in addition to TechUSB Automator. For example, when using an RMM solution like Kaseya, you are often provided with a linux executable that gives you remote access to the system when run. If you can walk your client through booting the machine, running this script on startup gives you immediate access to the system afterwards.
Now doing this is easier than ever, simply upload the linux executable to your TechPortal Account on the Integrations page, and TechUSB will run it on boot as long as it has an Internet connection.
Alternatively, you can do this manually. This method does not require an Internet connection. You’ll need to create a .desktop file and put it in the ~/config/autostart directory. Each time your computer starts up, it checks this directory and runs any .desktop files within it. You’ll see the TechUSB_Automator.desktop file there, which you can use as a template. To output the contents of TechUSB_Automator.desktop you can run the following command:
cd ~/config/autostart; cat TechUSB_Automator.desktop
TechUSB comes with a built-in update system. As long as an Internet connection is present, TechUSB will automatically update during the “Loading…” screen in TechUSB Automator. You can check the current version of TechUSB by clicking the “Version Info” link within TechUSB Automator.
To see a list of recent updates and announcements, please see our new release notes section on the RepairTech Forum.
If TechUSB Automator fails for some reason while you’re running it, please submit a ticket. While doing this, it may be helpful to navigate to the /opt/techusb/logs folder. There you’ll see a directory for each stage you ran, with logs from each stage. This information could be very helpful while we debug the issue.
If you’re experiencing issues booting into TechUSB, or creating a TechUSB using the TechUSB Creator, please try the following:
- In the Creator:
- Do not check the box for “Download TechWARU”
- Do not add any additional ISO’s to the drive.
- If you’re getting boot problems, delete the “Config” folder that the Creator made. Then start the Creator and try again. This will re-download the necessary files, including the ISO file that may have been corrupted.
- Try a different USB drive.
- Try from a different computer.
- On the computer that it won’t boot on:
- Try disabling secure boot, and enabling legacy mode.
- Try a different USB port.
- If you originally set up persistence for the TechUSB drive on your first successful boot, and now it no longer boots, you may have shut down the TechUSB Operating System improperly. Make sure that each time you shut it down, you’re shutting it down properly within the OS. This saves the state of the OS, and properly preserves it’s image.