User Tools

Site Tools


notes:csys:create_bootable_usb

Create Bootable USB Drive

I will go straight to the step by step instructions and put the so-called theoretical information towards the end of this page, so that people who are only interested in getting it done can get straight into it :-P

I have done this a lot of time on Linux, but I recently discovered that I may be able to do it on Windows as well - so I may insert something on that later.

Linux Platform

Tools needed (mostly available by default on all major Linux distro):

  • fdisk - for partitioning (recommended for USB drives with >4GB storage)
  • mkfs - for preparing filesystem (go for something specific e.g. mkdosfs for FAT filesystem)

in progress…

Windows Platform

coming soon…

Hard Disks and Geometries

  1. talk about CHS and LBA

Disk Partitions

Information on MBR and GPT partitioning schemes.

Master Boot Record (MBR)

Some notes on MBR used in classic/legacy BIOS-based system.

  • first sector of a partitioned storage
    • also known as disk boot sector
    • contains a partition table (info on how the disk is partitioned)
  • classic MBR
    • 446 bytes executable code
    • 64 bytes partition entries (4 primary partitions)
    • 2 bytes boot signature (0x55 0xAA)
  • modern MBR
    • 218 bytes executable code
    • 2 bytes (always 0x00?)
    • 4 bytes disk timestamp
    • 216 bytes executable code
    • 4 bytes disk signature
    • 2 bytes (always 0x00?)
    • 64 bytes partition entries (4 primary partitionss)
    • 2 bytes boot signature (0x55 0xAA)
  • primary job of embedded code is to boot/load Volume Boot Record (VBR)
  • superseeded by GUID partition table (GPT) - Read more @ wikipedia

Read more @ wikipedia

Volume Boot Record (VBR)

  • first sector of a partition on a partitioned storage
    • also known as partition boot sector

Read more @ wikipedia

2026/02/09 22:23

GUID Partition Table (GPT)

Some notes on GPT used in currently standard UEFI-based system.

work-in-progress…

Read more @ wikipedia

2026/02/09 22:23

Using fdisk

Creating 2GB partition at the end of the drive

  • for 512-bytes sector size, allocate 2x1024x1024x1024/512=4194304 sectors
    • subtract this value from total sector
    • make sure the end value of previous partition ends on resulting value

Case study 1

For 16GB devices (~14GB+2GB), when making the second partition as active partition, installing syslinux onto that partition is still okay. But when doing similar config on 32GB devices, syslinux fails. Why?

notes/csys/create_bootable_usb.txt · Last modified: by azman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki