Table of Contents

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):

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


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?