FAQ

Les FAQ ( Foire aux Questions ou en anglais Frequently Asked Questions ) sont un recueil des questions les plus souvents posées sur un sujet donné.
La FAQ se doit de fournir la plupart du temps une réponse simple et concise.

Je mettrai cette page a jour régulierement pour mes lecteurs !!!

Les disques :

La manière dont sont nommés les disques sous Linux est, à mon avis, hyper logique. Elle repose sur l’emplacement du disque et son type ( SCSI ou IDE ).

Disques durs IDE

Disque dur se dit en anglais Hard Disk, d’où le sigle HD que l’on voit sur certains disques durs. Pour les disques dur IDE, linux garde cette dénomination et ensuite ajoute une lettre qui correspond à l’emplacement du disque dans la chaine IDE :

hda : Premier contrôleur IDE, maître
hdb : Premier contrôleur IDE, esclave
hdc : Deuxième contrôleur IDE, maître
hdd : Deuxième contrôleur IDE, esclave

Avec l’introduction de DevFS cela a changé. Le nommage est encore plus basé sur le matériel et est carrément le chemin du périphérique dans le bus IDE ! bien sûr une compatibilité est assurée et donc l’ancien nommage reste en vigueur, cependant il peut être intéressant de voir comment cela se passe sous devfs.
hda sous devfs devient : ide/host0/bus0/target0/lun0/disc
hdb : ide/host0/bus0/target1/lun0/disc
hdc : ide/host0/bus1/target0/lun0/disc
hdd : ide/host0/bus1/target1/lun0/disc

Quelques explications s’imposent :
ide = on parle des périphériques IDE
host0 = le southbridge qui gère l’IDE ou controleur. Souvent il n’y en a qu’un seul, à moins que vous ayez un controleur supplémentaire pour le RAID IDE par exemple
busx = le bus IDE concerné. x=0 : Primaire, x=1 : Secondaire
targetx= la position dans la chaine ( Maitre/Esclave ). x=0 : Maitre, x=1 : Esclave
lunx = lunch à savoir les n° logiques ( Logical Unit Number ). Cette notion fut introduite dans les périphériques SCSI. Reportez vous à des docs à ce sujet car moi …
disc = le type du périphérique. En effet un disque dur sera désigné par disc, un CDROM/graveur sera désigné par cd

Comme on peut le remarquer cette manière de nommer les périphérique IDE est d’ors et déjà compatible avec le Serial ATA car on peut facilement spécifier 7 périphériques IDE

Disques durs SCSI

les disques durs SCSI sont préfixés en tant que sd ( Scsi Disk) suivi d’une lettre qui dépend de l’ordre des ID.
Ainsi le disque dur ayant la plus petite ID aura pour nom : sda . Le disque dur suivant dans l’ordre des ID aura pour nom sdb, et ainsi de suite. Ainsi le disque ayant comme ID 0 sur le premier controleur SCSI s’apellera sda.

Avec DevFS suit le même type de nommage que pour les disques IDE.
sda : scsi/host0/bus0/target0/lun0/disc

La logique reste la même.

Note : Dans le cas du SCSI host désigne la carte SCSI. host0 désigne la 1ère carte SCSI.
Note 2 : lorsque vous utilisez ide-scsi pour émuler votre périphériques IDE en SCSI, une carte SCSI virtuelle est alors crée.

Les partitions :

Pour schématiser il existe 2 types de partition : les primaires et les étendues.

Les partitions primaires

Sur un même disque il ne peut y en avoir que 4 au maximum ( due à une limitation d’un système d’exploitation et depuis c’est devenue la norme ). Souvent ces partitions sont bootables et servent à booter un système d’exploitation. Windows 9x par exemple ne peut, normalement, s’installer que sur une partition primaire. Windows NTx peut s’installer sur une étendue. Il en est de même pour linux. Cependant il est conseillée d’utiliser des partitions primaires comme partition de boot.
Ces partitions sont numérotées de 1 à 4. Ainsi la première partition d’un disque sera nommée pour un disque IDE:
hda1 ou ide/host0/bus0/target0/lun0/part1
Pour un disque SCSI : sda1 ou scsi/host0/bus0/target0/lun0/part1

Les partitions étendues

On peut en faire autant que l’on veut. En fait, pour simplifier, une partition principale d’un type particulier va contenir des partitions : les partitions étendues.
Ces partitions sont numérotées de 5 à jeneconnaispaslalimite.
Ainsi la 1ère partition étendue commence à 5.

 

Comment booter Linux depuis Windows 2000/XP ?

Pour cela on va utiliser NTLoader.
D’abord il faut installer lilo dans la partition / ou /boot de Linux. Nous allons supposer que pour la suite cette partition se nomme hda2. Supposons aussi que la partition où se trouve le C: de win soit montée dans le répertoire /mnt/windows

En tout premier lieu il faut récupérer le secteur de démarrage qui contient lilo :

# dd if=/dev/hda2 of=/mnt/windows/bootsect.lnx bs=512 count=1

Note : Pour que cette commande marche, il faut que la partition system de votre 2000 soit en FAT32 et accessible sous Linux via le répertoire /mnt/windows. Si vous accéder à la partition via un autre répertoire, il faut remplacer /mnt/windows par ce répertoire ( par exemple /mnt/win_c )

Ensuite Il suffit de modifier le fichier boot.ini qui se trouve dans C: ( /mnt/windows/boot.ini ). Il suffit d’ajouter la ligne la ligne suivante :

C:/bootsect.lnx=”Linux”

Et voilà ! Bien sûr a chaque ajout d’un noyau et/ou modification de lilo, il faudra réinstallé lilo dans / ou /boot et refaire une copie du secteur de boot avec la commande dd.

 

Comment désinstaller Linux ?

Si vous en arrivez à cette extrémité, c’est très simple : il suffit de formater/enlever les partition de Linux. Un soft comme Partition Magic, Ranish Partition Manager voire même le CD d’install de votre distribution vous sera très utile dans ce cas.
Bien sûr n’oublier de désinstaller lilo/grub (cf FAQ sur la désinstallation de lilo).

 

Comment désinstaller lilo/grub ?

Le moyen le plus simple est d’effacer lilo/grub de la MBR en tapant sous DOS : fdisk /mbr
Vous pouvez désinstaller lilo avant depuis Linux en tapant :

# lilo -U

Note : Si sous windows 9x vous faites fdisk /mbr pour restaurer la MBR de windows, sous 2000/XP vous devez booter en mode rescue/réparation et taper la commande fixmbr

Comment réparer lilo/grub sans disquette de boot ?

On n’a pas de disquette de boot Linux et on a réinstallé Windows qui a effacé le multiboot de lilo : comment faire pour le retrouver ?
On peut utiliser le CD d’install.

Lorsque l’on a démarré sur le CD d’installation au prompt on appuie sur F1 puis on tape rescue. A ce moment là on aura un menu qui proposera notamment de réinstaller le boot loader ( i.e lilo ou grub ).

En utilisant le mode rescue manuel du CD d’installation de la Mandrake :

Toujours dans le menu du mode rescue on verra aussi comme choix Mount your partitions under /mnt. Cette option permet de remonter le système de fichier sous /mnt et alors d’ici faire les modif nécessaires et notamment réinstaller lilo/grub manuellement.

Manuellement :

Si la partition / (ou /boot si elle existe) se trouve sur la partition /dev/hda2, au prompt du CD d’install, on tape rescue root=/dev/hda2

lilo

Ensuite on monte les partitions, notamment la partiton / , puis on réinstall lilo. Je considère que les partitions sont de type ext2/etx3. Cela donne :

# mkdir /tmp/root?- on crée le répertoire où sera monter /

# mount -t ext2 /dev/hda2 /tmp/root -o rw?- on monte / , ensuite on peut éditer lilo si on veut

# tmp/root/sbin/lilo -C /tmp/root/etc/lilo.conf?- on réinstalle lilo en précisant l’emplacement du fichier de configuration (option -C )

Grub

Dans le cas de grub, il suffit de faire :

# /tmp/root/usr/sbin/grub –config-file=/tmp/root/boot/menu.lst?- tout comme pour lilo, on réinstall grub en précisant le fichier de configuration.

# grub> setup (hd0)?- au prompt de grub cela permet de réinstaller grub dans la MBR

Il sera peut être nécessaire de monter la partition /usr si celle-ci est séparée de /, il faudra créer le point de montage comme étant un sous répertoire de /tmp/root :

# mkdir /tmp/root/usr

Si la partition /usr est sur hda3 par exemple, cela donne pour le montage :

# mount -t ext2 /dev/hda3 /tmp/root/usr -o rw?- on monte /usr

Voilà, normalement cela devrait être bon. Mais je ne saurais trop conseillé de faire une disquette de boot la prochaine fois.

Note : sur les dernières Mandrake le mode rescue est plus ou moins automatisé et il permet même automatiquement de monter les bonnes partitions pour récupérer son boot loader.