How are /dev/sda and /dev/sdb chosen?

65,397

The designation /dev/sda and /dev/sdb can be arbitrary as you can see.

From https://wiki.archlinux.org/index.php/Persistent_block_device_naming

If your machine has more than one SATA, SCSI or IDE disk controller, the order in which their corresponding device nodes are added is arbitrary. This may result in device names like /dev/sda and /dev/sdb switching around on each boot, culminating in an unbootable system, kernel panic, or a block device disappearing. Persistent naming solves these issues.

and Debian https://wiki.debian.org/Part-UUID

If you have more than one disk controller (IDE or especially SCSI/SATA), or even if you just have variable numbers of removable USB/firewire storage devices attached from day to day, the order in which they are detected may not be deterministic. The result is that device names like /dev/sda1 and /dev/sdb1 may switch around randomly on each boot. Persistent naming allows you not to worry about this at all.

For file systems it's best to use UUID (/dev/disk/by-uuid/) or labels (/dev/disk/by-label/). For raw drives or unformatted partitions you can use IDs (/dev/disk/by-id/).

To identify your disk/partition, use blkid

sudo blkid

The Ubuntu information is here: https://help.ubuntu.com/community/UsingUUID

It may be best to temporarily remove your windows hard drive while you install Ubuntu, then configure your windows partition(s) to mount post install. You can then select which OS to boot in your BIOS.

Share:
65,397

Related videos on Youtube

user997112
Author by

user997112

Updated on September 18, 2022

Comments

  • user997112
    user997112 over 1 year

    I am trying to install Windows 7 on /dev/sda but whatever drive I install Windows 7 on becomes /deb/sdb. I havent changed any boot priorties in the BIOS.

    Could someone please help me understand how Ubuntu 12.04 chooses /dev/sda and /dev/sdb?

  • user997112
    user997112 over 10 years
    Sorry- a lot of that went over my head :) I am trying to install Windows on sda and Ubuntu on sdb because otherwise if Windows is on sdb it won't hibernate correctly (Windows 7 has to be the first disk): linuxbsdos.com/2012/07/23/…
  • Panther
    Panther over 10 years
    If you are having a problem with Windows, best ask on stack-exchange ;)
  • Jim DeLaHunt
    Jim DeLaHunt almost 10 years
    On my system, blkid gave no result, but sudo blkid gave the desired list of disks, including UUID and Label values.