Именование жестких дисков в Linux?

пытается ли Linux каждый раз давать диску одну и ту же букву?


Например, если подключить два диска к моему компьютеру, а затем отключить их и подключить их в обратном порядке, будут ли sdb и sdc соответствовать одним и тем же физическим дискам?

Это то, что я хочу:

First:  
    Plug in HDD A, which becomes sdb.
    Plug in HDD B, which becomes sdc.


Then:
    Plug in HDD B, which becomes sdc.
    Plug in HDD A, which becomes sdb.

вопрос в том, делает ли Linux это автоматически? Если нет, то как бы я сделал что-то подобное? (Я хочу иметь три диска, которые можно инициализировать в любом порядке, но все же монтируется в ту же точку).

11
задан Billylegota
09.01.2023 14:07 Количество просмотров материала 2542
Распечатать страницу

1 ответ

нет,sd* имена присваиваются последовательно, в зависимости от того, какой диск был обнаружен первым.

если вам нужно постоянное имя, udev уже предоставляет их на основе нескольких свойств, таких как метки файловой системы / UUIDs; метки разделов / UUIDs (только GPT); пути вложения диска; WWN SCSI; и так далее.

посмотри /dev/disk:

┌ rain ~ 
┘ tree /dev/disk/
/dev/disk/
├── by-id (hardware-based ID)
│   ├── ata-SlimtypeDVD_A_DS8A5SH_012160166091 -> ../../sr0
│   ├── ata-ST9640320AS_5WX1ZH91 -> ../../sda
│   ├── ata-ST9640320AS_5WX1ZH91-part7 -> ../../sda7
│   ├── mmc-SD4GB_0x0054b5cf -> ../../mmcblk0
│   ├── mmc-SD4GB_0x0054b5cf-part1 -> ../../mmcblk0p1
│   ├── wwn-0x5000c5002f0e9ce1 -> ../../sda
│   ├── wwn-0x5000c5002f0e9ce1-part1 -> ../../sda1
│   └── …
├── by-label (name encoded in filesystem header)
│   ├── keycard -> ../../mmcblk0p1
│   ├── raindows -> ../../sda6
│   ├── rainhome -> ../../sda5
│   └── …
├── by-partlabel (name encoded in GPT partition table)
│   ├── Arch -> ../../sda4
│   ├── EFI -> ../../sda1
│   ├── home -> ../../sda5
│   ├── swap -> ../../sda8
│   └── …
├── by-partuuid (UUID encoded in GPT partition table)
│   ├── 14420948-2cea-4de7-b042-40f67c618660 -> ../../sda4
│   ├── 1c737f60-8667-4d1a-9c92-5f5caf69be60 -> ../../sda3
│   ├── 267bbb83-0bb5-48b8-aa4c-ffe328328f5b -> ../../sda5
│   └── …
└── by-uuid (UUID encoded in filesystem header)
    ├── 0C5C17E25C17C57C -> ../../sda7
    ├── 413b42fe-77f7-41d0-8d40-a7578f70995d -> ../../sda4
    ├── 4b30e8db-563e-4947-8d41-f242d94a6d3a -> ../../mmcblk0p1
    ├── 8594cc4c-9c42-436a-8723-9a0611b1f97d -> ../../sda5
    └── …

вы можете использовать их так:

/dev/disk/by-label/arch_boot  /boot  ext4  rw,auto  0  1

в fstab также работает альтернативный синтаксис label и uuid поля:

LABEL=arch_boot               /boot  ext4  rw,auto  0  1

Примечание: В некоторых старых дистрибутивах Linux, различные udev правила попытка сделать sd* имена стойких. Но это не может работать надежно; часто "переименовать" не удается, потому что другой диск получил нужное имя. Эта функция была удалена в более поздних версиях udev. не полагайтесь на sd* имена настойчивы, даже если они кажутся.

12
отвечен grawity 2023-01-10 21:55

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх