Next Previous Contents

6. Come scoprire il numero assegnato dal BIOS ai dischi SCSI

Contributo di Marc Tanguy (mtanguy@ens.uvsq.fr), 27 settembre 2001

6.1 La teoria

Per la verità ci sono due modi per saperlo:

Chi possiede una scheda scsi adaptec (2940u2, 29160, 39160) può semplicemente usare la modalità 'diagnose' (si raccomanda di usare un BIOS v3.10.0), che deve essere attivata dal menu del BIOS della scheda scsi. Basterà quindi aspettare di vedere qualcosa di questo genere:


... ID LUN Produttore Prodotto Rev Dim. Sync Bus HD#
... 0 0 QUANTUM ATLAS10K2 DDD6 17GB 160 16 80h
... 1 0 QUANTUM ATLAS10K2 DDD6 17GB 160 16 81h
... 2 0 IBM DDRS DC1B 4GB 80 16 82h
... 3 0 IBM DNES SAH0 9GB 80 16 83h

Chi non possiede una scheda adaptec dovrà scoprire qual è il disco 'avviabile' (di solito quello con ID 0, ma non sempre: può essere definito nel BIOS della scheda scsi) nel quale si potrà trovare ed avviare LILO: è il primo disco, quindi avrà il numero 0x80. Dopo di che è molto facile, il BIOS segue gli ID.

Per esempio:

ID 0 -> avvio  -> 0x80
ID 1 -> vuoto
ID 2 -> disco  -> 0x81
ID 3 -> disco  -> 0x82

o

ID 0 -> disco  -> 0x81
ID 1 -> vuoto
ID 2 -> disco  -> 0x82
ID 3 -> avvio  -> 0x80
ID 4 -> disco  -> 0x83

Questa parte non si preoccupa affatto di cosa c'è installato sui dischi scsi. Si noti però che si avranno problemi se si usa un ID più alto di quello dell'adattatore SCSI. Dunque si dovrà sempre cercare di impostare l'ID dell'adattatore SCSI dopo l'ID dei dispositivi SCSI.

6.2 Come scambiare l'avvio di linux e NT?

Supponiamo che NT debba essere il primo disco avviabile, cioè con il numero 0x80, ma nella posizione 0x80 abbiamo già un disco con LILO e un file system ext2 pieno, mentre il disco con NT ha il numero 0x83. Come si possono 'scambiare' linux e NT? È molto facile: basta dire al BIOS che il disco con NT ora è il numero 0x80, mentre quello con Linux è il 0x83.

other=/dev/sdd1
      label=nt
      map-drive = 0x83
      to = 0x80
      map-drive = 0x80
      to = 0x83

Questo cambiamento produrrà un avviso:

  Warning: BIOS drive 0x8? may not be accessible

ma sapendo ciò che si sta facendo dovrebbe funzionare senza problemi.

Io l'ho usato con una configurazione composta da una Red Hat Linux 7.1 e Windows 2000 Pro:

Nome        Flag      Tipo part.  Tipo FS          [Etichetta]      Dimensione (MB)

Disk Drive: /dev/sda - 0x80
sda1        Boot        Primary   Linux ext2       [/boot]            24.68
sda2                    Primary   Linux Swap                         139.83
sda3                    Primary   Linux ext2       [/usr]           3150.29
sda4                    Primary   Linux ext2       [/home]         15044.04

Disk Drive: /dev/sdb - 0x81
sdb1                    Primary   Linux Swap                         139.83
sdb2                    Primary   Linux ext2       [/]              3150.29
sdb3                    Primary   Linux ext2       [/opt]           1052.84
sdb4                    Primary   Linux ext2       [/public]       14015.88

Disk Drive: /dev/sdc - 0x82
sdc1                    Primary   Linux ext2       [/var]           1052.84
sdc2                    Primary   Linux ext2       [/tmp]            106.93
sdc3                    Primary   Linux ext2       [/cache]         1052.84
sdc4                    Primary   Linux ext2       [/chroot]        2352.44

Disk Drive: /dev/sdd - 0x83
sdd1        Boot        Primary   NTFS             [WINDOWS_2000]   9162.97

Il mio file /etc/lilo.conf:

boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
default=Linux
read-only
compact
image=/boot/vmlinuz
  label=Linux
  root=/dev/sdb2
other=/dev/sdd1
  label=Windows
  map-drive = 0x83
  to = 0x80
  map-drive = 0x80
  to = 0x83

6.3 Varie

Ho inserito un nuovo disco scsi, e ora Lilo si rifiuta di partire. Cosa sta succedendo?

Quando si inserisce un disco bisogna fare attenzione agli ID. Quando si aggiunge un disco tra due dischi già inseriti i numeri del BIOS cambiano:

         Prima            ---->             Dopo
scsi id -       - BIOS id        scsi id -          - BIOS id
ID 0    - disk  - 0x80           ID 0    - disk     - 0x80
ID 1    - empty                  ID 1    - new disk - 0x81
ID 2    - disk  - 0x81           ID 2    - disk     - 0x82 !!

Quando gli ID del BIOS cambiano, bisogna valutarli nuovamente.


Next Previous Contents