GNU/Linux >> Znalost Linux >  >> Linux

Jak příkazy jako fdisk -l zjistí velikost sektoru?

Velikost sektoru zařízení není uložena v MBR.

Příkazy uživatelského prostoru jako fdisk použijte BLKBSZGET a BLKSSZGET ioctl s k načtení velikosti sektorů z disků. Těch ioctl s jsou zpracovávány ovladači v jádře, které získávají příslušné informace ze samotných jednotek.

(O příslušném ioctl není mnoho dokumentace s; musíte zkontrolovat zdrojový kód jádra.)

Relevantní informace můžete zobrazit pomocí jiných nástrojů, které se dotazují přímo na jednotky, například hdparm . Na malém SSD, hdparm -I říká mi

[...]
Logical  Sector size:                   512 bytes
Physical Sector size:                   512 bytes
Logical Sector-0 offset:                  0 bytes
[...]
cache/buffer size  = unknown
Form Factor: 2.5 inch
Nominal Media Rotation Rate: Solid State Device
[...]

Na velkém rotujícím disku se 4K sektory dostanu místo

[...]
Logical  Sector size:                   512 bytes
Physical Sector size:                  4096 bytes
Logical Sector-0 offset:                  0 bytes
[...]
cache/buffer size  = unknown
Form Factor: 3.5 inch
Nominal Media Rotation Rate: 5400
[...]

Je tam pár otázek, snažil jsem se dohledat odpověď na "Kde fdisk najde velikost sektoru disku?" Nejlepší, co jsem našel, je, že získává informace z ioctl .

ioctl informace na Wikipedii a manuálové stránce Linuxu.

odkaz na zdrojový kód fdisk


Linux
  1. Jak najít soubory v daném sektoru?

  2. Jak zjistit velikost inodu souborového systému ext2/ext3/ext4?

  3. Jak zjistit velikost vyrovnávací paměti soketu linuxu

  1. Jak zjistit, zda je disk SSD nebo HDD v Linuxu

  2. Jak najít výchozího správce souborů?

  3. Jak zjistím UUID souborového systému

  1. Jak auditovat oprávnění pomocí příkazu find

  2. Jak zjistím maximální velikost zásobníku?

  3. Jak přenést výsledky 'najít' do mv v Linuxu