Kioskea
Recherche
Ask a question »

How to boot from a USB device?

March 2015

USB drives are used nowadays to connect a wide variety of external hardware to a computer, for storing and sharing pieces of data across multiple computers. USB can also be used to set up a thumbdrive as a booting device for BIOS as well. For this, the thumbdrive needs to be formatted in FAT format and must have the required boot sectorfile residing on the drive itself. Once the system is restarted, go to BIOS settings to boot the device from the pen drive by following the on screen prompts or the user manual.

How to boot from a USB device?




USB - Universal Serial Bus - is a standard for connecting additional equipment to your computer, such as printers, scanners, webcams, digital cameras, keyboards, mouse, hard disks, etc. This article will look at booting your computer from a USB memory stick

STEP 1: GETTING SOME BOOT SECTORS


To be able to boot rom a device we need boot sectors. Boot sectors contain the information needed by the BIOS to enable it to boot using the device.

Option 1 - Using a floppy disk formatted in Windows:
Before we can make a USB device bootable we need to get our hands on a bootable floppy. In all current Windows versions (including Windows 2000 and XP) we can do that by formatting a floppy disk.
  • Open Windows Explorer and right click the A: drive.
  • Choose "Format" from the upcoming popup menu.
  • In the window that appears, check the option "Create an MS-DOS startup disk".
  • Make sure Windows is formatting the right drive.
    • Usually it should show "Format 3½ Floppy (A:)".
  • Once you're sure about the drive, click the "Start" button - Windows will now format the disk and make it bootable.


Windows - Creating a bootable floppy

After creating this bootable floppy, we will now extract the boot sectors from this floppy using Bart's MKBT:
  • Open a DOS Window and go to the directory where you extracted MKBT.
  • Type mkbt -c a: bootsect.bin as shown below:

C:\Windows\System32\cmd.exe     
D:\Downloads\mkbt20>mkbt -c a: bootsect.bin     
  • Copy boot sector mode (-c)

D:\Downloads\mkbt20>     


Note: Here "a:" represents the drive that holds the newly made bootable floppy
Once the command prompt returns, you will have a boot sector stored in the file "bootsect.bin".
Do not close this DOS window yet, we will need it again in step 3

Option 2 - Using images of bootable floppies
On the Internet you can find a lot of bootable disks. Take a look at the BootCD.info website.
You will find plenty of floppy disk images and tools to write these images to floppy disk.
Most of these disks are specialized, for example direct network access, packed with handy tools, etc.
Follow the instructions there on how to make a bootable floppy.
One of the best network enabled bootdisks is "Bart's Network Boot Disk".
I highly recommend this disk for the advanced user!
Note: Some .BAT files refer to the A: drive directly - this CAN cause problems during boot

STEP 2: PREPARING THE THUMB DRIVE


Format the thumbdrive in the same format you formatted the floppy disk - i.e. FAT.
So if you used the option where you created a bootable floppy in Windows, the format the thumb drive was using is FAT or FAT16.
  • Right click the drive letter of the thumb drive and select the option "Format"
  • Select the proper format (FAT) and click "Start"

STEP 3: COPY THE BOOT SECTORS TO THE THUMBDRIVE


Thanks to MKBT by Bart (visit his website for more fun tools!) we can now easily copy the boot sectors onto the USB thumbdrive.

You can download the file from the downloads section of Kioskea or directly from Bart's website.
  • Open a DOS Window and go to the directory where you extracted MKBT
  • Type mkbt -x bootsect.bin G: as shown below, remembering to change G: to the drive corresponding to your thumb drive:

C:\Windows\System32\cmd.exe     
D:\Downloads\mkbt20>mkbt -x bootsect.bin g:     
  • Expert mode (-x)

STEP 4: COPY FILES TO THE THUMB DRIVE


Now the drive is bootable, you can put the essential files on to it. Copy all the files you put on the A: drive earlier on to your thumb drive. Be warned that if your floppy has a .BAT or CONFIG.SYS file and they use absolute path referencing to the A: drive, this could be a problem.

STEP 5: RESTART AND GO INTO THE BIOS

  • Restart your PC and go into the BIOS.
    • Entering the BIOS is commonly done by pressing the "Del" button on your keyboard.
    • "F1", "F2", "Insert", and "F10" are all alternative keys that may be used here, depending on your model.
    • Sometimes the PC will display a message telling you which key to press.


Note: Some laptops allow you to set the boot devices using a Windows application. Toshiba for example does this with some of their laptops. The application is either a standalone application or a applet in the Control Panel.

STEP 6: BIOS SETTINGS


Depending on the BIOS of your computer, you can set the USB stick as a boot device. If your PC's BIOS does not seem to support this, check if there is an update available. For some reason most BIOS prefer to refer to the thumbdrive as a USB Removable Floppy Disk or USB Zip Disk.

Generic approach
If your BIOS is not in the list below, or the settings do not seem to work with your PC, then do this:
  • Go into the BIOS
  • Go to the page that determines the boot order (usually called "Advanced Setup", "Boot options", or "Feature Setup")
  • Try all USB drive variants. Start with "USB ZIP", then "USB FDD", "USB HDD ", etc.
  • To speed up the testing, DISABLE ALL other boot devices. This goes for the 2nd, 3rd etc, but also for "Alternative boot devices".


AMI BIOS
Depending on the version of your AMI-BIOS (enter using the "Del" button):

Option 1
AMI refers to it as "AMIBIOS SIMPLE SETYP UTILITY - VERSION 1.21.12" (version number may vary).
  • Go to "Feature Setup".
  • "Enable" these options: "USB Function Support", "USB Function For DOS" and "ThumbDrive for DOS".
  • Go to "Advanced Setup".
  • Set the "1st Boot Device" to "USB RMD-FDD".
  • Reboot the PC and it now should boot from the thumb drive.


Option 2
  • Go to "USB Mass Storage Device Configuration".
  • (Select "Emulation Type" and set it to "Hard disk".
  • Go to the "Boot Menu" and set the "1st boot device" to "USB-Stick".
  • Now you can exit the BIOS, saving the changes. If this does not seem to work, then you can try (it sometimes seems to work) setting the "Emulation Type" value to "Floppy" or "Forced FDD".


PHOENIX/AWARD BIOS
  • Go to "Advanced BIOS Features".
  • Go to the "1st Boot device" and set it to "USB-ZIP".
    • Sometimes the device is listed as a USB hard drive under the hard drives menu.
  • Reboot

MKBT


Version 2.0
Last updated on Jan 7, 2003


- What is MKBT?
- Download
- On what platforms can MKBT be run?
- What is the command line syntax?
- What is so unique about MKBT?
- Are there any other boot sector installers?
- Where can I find the latest version?
- How to build a bootable floppy
- How to build a bootable 2.88MB floppy image file (without the drive)
- How does MKBT work? (technical)
- Boot Sector installation
- Boot Sector copy (-c)
- Change log


What is MKBT?

MKBT is used for installing boot sectors. It supports FAT, NTFS and RAW boot sectors.


Download

To download MKBT use this link: MKBT v2.0 (30KB)


On what platforms can MKBT be run?

MKBT is compiled as a win32 executable and runs on:
  • Windows 95/98/ME (FAT)
  • Windows NT4/2000/XP (FAT and NTFS)


What is the command line syntax?

Usage:
mkbt [switches] <source> <target>

<source> The source file/drive which contains the boot sector to install
<target> The target file/drive to install the boot sector on

Switches: -v Verbose mode
-c Copy mode (no install) used for copying the
boot sector(s)
-x Expert mode (do not check drive A or B only)
USE WITH CAUTION!
-l=<xxx> Set Volume Label to <xxx>

Returns errorlevel 0 when OK, 1 when some error occurred.

Examples:
To install boot sector from file "bootsect.bin" onto drive A:
-> mkbt c:\os\dos622\bootsect.bin a:

To install boot sector from file "bootsect.bin" onto floppy image "288.img"
-> mkbt c:\os\dos622\bootsect.bin c:\tmp\288.img

To copy boot sector from a bootable floppy in drive A: to a file called
"bootsect.bin"
-> mkbt -c a: c:\os\dos622\bootsect.bin


What is so unique about MKBT?

Unique things about MKBT are:
  • It supports transferring a boot sector to floppy images. This allows you to create a bootable 2.88MB floppy image without needing a 2.88MB floppy drive. See "How to build a bootable floppy image file"
  • It is a win32 executable (not DOS)


Are there any other boot sector installers?

Yes, "bootable.exe" - written by Alexei A. Frounze. It is a DOS executable and only supports transferring a boot sector from file to floppy drive (A: or B:).


Where can I find the latest version?

The latest version can be found on http://www.nu2.nu/mkbt/


How to build a bootable floppy

You can use any DOS version and any DOS supported floppy disk size to build your bootable floppy. For each DOS version you must have the following 4 boot files:
  • The boot sector in a file called "bootsect.bin"

You can capture the boot sector to a file using: mkbt -c a: bootsect.bin
  • IO.SYS (or IBMBIO.COM for Novell Dos)
  • MSDOS.SYS (or IBMDOS.COM for Novell Dos)
  • COMMAND.COM


For this example we will use MS-Windows 98 (version 4.10.1998), therefore we put the files in a folder called "4101998". They must have "normal" attributes (not hidden/system/read only).

You can now use makeboot.bat (which is include with the MKBT download zipfile).
makeboot.bat takes one parameter, that is the directory where the Dos bootfiles can be found.

Example: makeboot c:\os\4101998 - or when you are in the "c:\os" folder, just makeboot 4101998


How to build a bootable 2.88MB floppy image file (without the drive)

Use bfi - Build Floppy Image.
How does MKBT work? (technical)

MKBT copies parts of the boot sector. The boot sector, the very first sector of a floppy disk, is 512 bytes long and looks like this:
FAT Boot sector
Offset Length Meaning
0x0 3 bytes Jump instruction
0x3 8 bytes OEM Name
0xB 25 bytes BIOS parameter block
0x24 26 bytes Extended BIOS parameter block
0x3E 448 bytes Bootstrap code
0x1FE 2 bytes End of sector marker

The BIOS parameter block and extended BIOS parameter block contains the information:
BIOS parameter block for FAT volumes
Offset Length Meaning
0xB 2 bytes Bytes per sector
0xD 1 byte Sectors per cluster
0x0E 2 bytes Reserved sectors
0x10 1 byte Number of FATs
0x11 2 bytes Root entries
0x13 2 bytes Small sectors
0x15 1 byte Media type
0x16 2 bytes Sectors per FAT
0x18 2 bytes Sectors per track
0x1A 2 bytes Number of heads
0x1C 4 bytes Hidden sectors
0x20 4 bytes Large sectors

Extended BIOS parameter block for FAT volumes
Offset Length Meaning
0x24 1 byte Physical disk number
0x25 1 byte Dos: Current head
NT: Dirty flag
0x26 1 byte Signature
0x27 4 bytes Volume serial number
0x2B 11 bytes Volume label
0x36 8 bytes Filesystem ID


Boot sector installation

Below are the steps MKBT takes to install a boot sector:
  • Source sector: Buffer 1
  • Target sector: Buffer 2
    • 1. Read source sector in buffer 1
    • 2. Read target sector in buffer 2
    • 3. Transfer boot sector parts from buffer 1 to buffer 2
    • 4. Write buffer 2 to target sector



Boot Sector copy (-c)

MKBT v1.3 (and higher) has a "Copy boot sector" option, which copies the complete boot sector
  • Previous versions only copied those sections that where needed to install it

Note


Thanks to spikerboys for this tip on the forum.
For unlimited offline reading, you can download this article for free in PDF format:
How-to-boot-from-a-usb-device.pdf

See also

In the same category

Published by aakai1056. - Latest update by Paul Berentzen
This document entitled « How to boot from a USB device? » from Kioskea (en.kioskea.net) is made available under the Creative Commons license. You can copy, modify copies of this page, under the conditions stipulated by the license, as this note appears clearly.