LinuxPedia

Wiki libre et indépendant dédié à GNU-Linux et BSD.

Outils pour utilisateurs

Outils du site


expert:installation_sur_disque_dur_usb:wiki

Installation d'Ubuntu à partir de windows xp et sans cd-dvd

Problème à résoudre

On a un PC avec windows XP (home ou pro) implanté de manière courante sur la 1ère partition du 1er disque IDE (C:\pour windows, hda1 pour linux et (hd0,0) pour grub).

On veut installer ubuntu sur une partition libre du disque dur, mais on a ni lecteur de cd ou dvd, ni linux installé.

On veut donc lancer l'installation à partir de windows xp, le programme d'installation ayant été copié sur le disque dur sous forme d'image iso.

Principe de solution

On utilise une version de grub qui fonctionne sous windows xp: grubinstall.exe

On utilise un noyau et un initrd.gz spéciaux (hd_media) pour trouver et exploiter l'image iso sans avoir à la désarchiver

On configure un menu.lst pour que le grub de windows lance le noyau “hd_media” qui trouve l'image iso qui lance le programme d'installation.

On place l'image iso du programme d'installation à la racine d'une partition FAT32 (qu'on crée avant si on n'en a pas) sur le disque IDE (pas usb)

Attention: la solution grubinstall.exe a les limites suivantes:

  • installation sur la partition système de windows xp (c:):
  • formatage ntfs (pas fat32)
  • partition c: non compressée (je suppose aussi: non cryptée!)
  • droit d'administrateur (c'est dit mais ce n'est pas sûr)
  • il faudra relancer l'exécution de grubinstall.exe après chaque défragmentation sous Windows

Téléchargement de grubinstall

Ls site web qui parle de grubinstall.exe est ici:

—> http://www.geocities.com/lode_leroy/grubinstall/

Vous pouvez télécharger grubinstall.zip ici:

—> https://sourceforge.net/tracker/download.php?group_id=56574&atid=481055&file_id=81331&aid=923097

Il existe aussi une version .tar.gz

Installation de grubintall

Ce programme est un programme DOS qui n'a pas besoin d'être “installé” au sens de windows (ce qui évite de saloper le registre…). Il suffit donc de le copier quelque part:

Vous créez un répertoire c:\grub dans lequel vous placez l'extraction (par winzip par exemple) de grubinstall.zip. Il y aura donc dans ce répertoire:

  • grubinstall.exe
  • stage1
  • stage2
  • et des textes d'aide (que vous êtes invités à consulter…).

Vous créez un second répertoire: c:\boot, dans lequel vous copiez les 2 programmes stage1 et stage2 de c:\grub.

Il faut maintenant configurer stage1 pour qu'il sache trouver stage2. Pour cela:

Lancez une console DOS: démarrez → exécutez → entrez “cmd” → retour

Dans la console, vous vous placez dans le répertoire c:\grub:

> cd \grub  

et vous lancez l'exécution de grubinstall:

> grubinstall.exe  

Et c'est tout: il est difficile de faire plus simple.

D'après ce que j'ai compris, le programme a modifié stage1 pour qu'il appelle stage2 là où il est: stage1 est un programme tout petit, qui ne tient pas compte du système de fichier. Il doit donc charger stage2 en sachant dans quel bloc il est! C'est pour cela qu'en cas de défragmentation, il faut relancer grubinstall.exe pour qu'il sache de nouveau retrouver stage2.

Si vous êtes dans une situation plus complexe, par exemple la partition système de windows dans hdb2, et les stage1, 2 et menu.lst à d'autres endroits que \boot, il faut lancer grubinstall avec les bons paramètres:

> grubinstall  -d  (hd1,1)  -1  c:\chemin1\stage1  -2  c:\chemin2\stage2  -m  /chemin3/menu.lst  

Il y a encore d'autres paramètres: voir le fichier “install.txt” livré avec grubinstall.zip.

Modification du fichier c:\boot.ini

Vous avez forcément un fichier c:\boot.ini, mais comme c'est un fichier système caché, pour le voir, il faut faire les opérations suivantes:

Dans les options de “windows explorer” (navigateur de fichier windows), faites: outils → options des dossiers → affichage“.

Il y a plusieurs cases à modifier:

  • cocher “afficher le contenu des dossiers système”
  • cocher “afficher les fichiers et dossiers cachés”
  • décocher “masquer les fichiers protégés du système d'exploitation”.
  • décocher “masquer les extentions de fichier dont le type est connu”

Ce dernier point est d'ailleurs un point de sécurité: ça vous évitera de cliquer sur “machin.jpg” pour voir la photo, alors que c'est un virus “machin.jpg.exe”.

Sous winxp, reprenons la console dos de tout à l'heure (démarrer→exécuter→ “cmd” → retour).

On se place dans le répertoire racine:

> cd \  

On annule les attributs qui nous gênent (h=caché, s=système,r=lecture-seule):

> attrib -h -s -r boot.ini  

Maintenant, boot.ini est non seulement visible mais modifiable. Mais ne fermez pas la console, parce qu'il faudra remettre les attributs “caché” et “système” après la modif.

Avec windows explorer, on fait une sauvegarde c:\boot.ini —> c:\boot.ini.sav

On édite c:\boot.ini avec un éditeur de texte comme bloc-notes/notepad ou context (que je vous conseille!). Pas de traitement de texte tels word ou openoffice!!!

On ajoute la ligne suivante:

c:\boot\stage1="menu grub"  

On enregistre et on sort de l'éditeur de texte.

On revient à la console, et on remet les bons attributs:

> attrib +h +s +r boot.ini  

C'est fait !

ATTENTION: si vous abimez boot.ini, plus rien ne marche !! Si problème, vous retrouverez votre sauvegarde c:\boot\ini\sav avec la console de récupération de windows xp.

C'est tout pour l'instant en ce qui concerne grubinstall. Il restera à configurer menu.lst plus loin.

Installation du noyau hd-media

Vous pouvez vouloir travailler directement avec l'image iso sans avoir à la désarchiver, parce que vous n'avez pas à ce stade de partition linux. Il existe cependant des programmes windows qui permettent de désarchiver l'image iso. En fait, contrairement à ce que je pensais dans une précédente version de cette page, on pourrait aussi travailler directement avec l'image iso désarchivée parce que le format des cd n'est pas plus capable que le fat32 de contenir les droits linux.

Pour travailler directement avec l'image iso, on télécharge vmlinuz, initrd.gz et initrd.list selon la version de ubuntu à installer:

Hoary 5.04 (i386): http://archive.ubuntu.com/ubuntu/dists/hoary/main/installer-i386/current/images/hd-media/

Breezy 5.10 (i386): http://archive.ubuntu.com/ubuntu/dists/breezy/main/installer-i386/current/images/hd-media/

Dapper 6.04 (i386): http://archive.ubuntu.com/ubuntu/dists/dapper/main/installer-i386/current/images/hd-media/

    Attention: il y a eu une mise à jour au 7/8/2006. Elle se trouve ici: http://archive.ubuntu.com/ubuntu/dists/dapper-updates/main/installer-i386/current/images/hd-media/

Pour les autres architectures (64, ppc), pour les versions suivantes et pour plus de détails, voir le wiki ubuntu: http://doc.ubuntu-fr.org/installation/sans_cd

On les place dans c:\boot.

configuration de menu.lst de grubinstall

On reprend un éditeur de texte, et on crée un nouveau fichier texte contenant:

color white/blue black/light-gray
default 0
timeout 8
#
title  Installation ubuntu par hd-media
    kernel  (hd0,0)/boot/vmlinuz  root=/dev/ram0  ramdisk_size=12000
    initrd  (hd0,0)/boot/initrd.gz  

Et on enregistre ce fichier dans c:\boot sous le nom “menu.lst”

Placement de l'image iso sur une partition fat32

Il ne reste plus qu'à disposer de l'image du cd ou dvd d'installation. Pour essayer, j'ai utilisé l'image du dvd: “ubuntu-5.10-dvd-i386.iso” (2.8Go).

Cette image doit être placée à la racine de la partition (donc, pas dans un répertoire).

J'ai essayé de placer cette image à la racine de la partition système windows xp, mais le noyau hd-media ne l'a pas trouvé. Je pense que le formatage ntfs en est la cause: effectivement, le module ntfs ne se trouve pas dans le initrd.gz de hd-media. Et modifier le initrd.gz de hd-media pour intégrer le module ntfs et modifier le programme de recherche de l'image iso ne m'a pas paru raisonnable. Un de ces jours peut-être ?

Une partition ext2 ou ext3 serait valable, mais dans notre hypothèse, on n'a pas de linux installé, et comme on n'a pas non plus de lecteur de cd, on ne peut utiliser ni un livecd linux , ni Partition Magic. Il est donc indispensable d'avoir une partition fat32! Si on n'en a pas, il faut la créer.Elle peut être de 5Go, ou plus si on veut utiliser cette partition à autre chose après (future partition échange linux-windows par exemple). Attention, windows xp refuse de formater en fat32 une partition trop grande (>32Go?). Il ne s'agit que d'une “interdiction marketing” (=promotion du ntfs).

Pour créer cette partition fat32 sous windows xp, on utilise les “outils d'administration”:

  • démarrez → tous les programmes → outils d'administration → gestion de l'ordinateur → gestion des disques.

On crée ainsi une partition fat32 de la dimension désirée.Je ne peux pas en dire plus sur le sujet, car il faudrait plusieurs pages pour traiter de tous les cas possibles. En tout cas, voyez la notice de l'outil de gestion des disques et soyez prudents!

Attention: si vous voulez gagner de la place en diminuant la partition de windows, il faut avant défragmenter pour être sûr de ne pas abimer windows!!!

Lancement de l'installation d'ubuntu

On reboote le pc.

Vient à l'écran le menu de c:\boot.ini: on choisit “menu.grub”

Vient à l'écran le menu grub de grubinstall: on choisit “installation ubuntu”

Le noyau hd-media se charge en mémoire ram, s'exécute, cherche l'image iso, la trouve et la lance.

Vous êtes désormais dans le programme d'installation normal!

Désinstallation

La désinstallation est super simple: elle consiste à effacer la ligne “menu grub” dans c:\boot.ini, ainsi que les 2 répertoires c:\grub et c:\boot.

expert/installation_sur_disque_dur_usb/wiki.txt · Dernière modification : 2018/11/17 12:53 de 127.0.0.1