Salut à tous.
Je cherche une méthode pour installer Linux sur un PC qui ne peut booter que depuis un disque dur. Il ne dispose d'aucun lecteur CD/DVD, plus de lecteur de disquette bien sûr, pas de boot réseau et pas de support boot USB non plus (cette dernière méthode étant la plus pratique à mes yeux). Je suis donc bloqué.
Mais est-il possible de procéder ainsi ? :
1) J'installe le DD sur le PC sur lequel je veux installer Linux et le fait reconnaître par le BIOS.
2) Puis je démonte ce DD que je place dans un boîtier externe avec connexion USB.
3) Depuis un autre PC pleinement fonctionnel je connecte par port USB le disque en question temporairement externe. À partie de là, j'ai un contrôle total du disque.
4) J'en profite pour vérifier le disque (badblock en écriture), puis je place une image iso dessus (dans mon cas je voudrais essayer une image Debian du type minimale, qui finit l'installation par connexion à un serveur ftp sur la Toile).
Il faut que j'utilise "dd", avec "if=" qui pointe sur l'image source, le disque n'étant pas à formater, juste créer une partition totale dessus, exact ?
5) Je remonte mon DD sur le PC originel et je lance le boot.
Si j'ai bien compris… lors du processus de boot, le BIOS va lire le premier secteur du disque. Si tout est bien présent, on peut booter de cette façon, vrai ? Je ne vois pas la différence avec ce qui se passe dans le cas de figure où on charge en RAM une image depuis un CD/DVD/clef USB.
J'ai fureté sur la Toile, mais ce que j'ai trouvé parle du cas de figure où un booloader est déjà installé (Grub), ce qui n'est pas mon cas de figure.
Est-ce que le procédé est valide ? Il aurait l'avantage d'être générique.
D'avance merci.
# Presque pareil avec MultiSystem
Posté par Julien_J06 . Évalué à 1.
Salut,
Ton idée me semble bonne mais je ne pourrais te valider le bon fonctionnement pour autant.
J'aurais une idée similaire sans garantie que cela fonctionne.
Tu sors ton disque dur et le connecte dans un boitier externe.
Tu crées une partition FAT de 5 Go et tu y installe MultiSystem, ensuite tu y met l'iso de ton choix.
Tu remet ce disque dans le PC d'origine et tu boot sur le disque et donc sur MultiSystem qui te permet de lancer l'ISO de ton choix.
Depuis le live CD tu fais l'installation sur ton disque.
Inconvénient, tu te retrouves avec une partition de 5Go en FAT en début de HDD.
Éventuellement test en mettant la partition en fin de disque, comme ça une fois ton OS installé, tu supprime cette partition et tu l'ajoutes à le dernière partition que tu as créé lors de l'installation de ton PC
Julien_c'est_bien (y'a pas que Seb)
# simple et efficace
Posté par NeoX . Évalué à 9. Dernière modification le 19 juillet 2014 à 03:05.
l'avantage de linux c'est la "portabilité"
tu met donc le disque de la machine finale, dans une autre machine, tu installes ton linux
quand tu as finis tu remet le disque dans la machine d'origine
ca roule ;)
faut juste faire gaffe à l'histoire de 32 et 64bits
et eventuellement debrancher les autres disques de la machine lors de l'installation (pour ne pas ecraser une config qui fonctionne)
[^] # Re: simple et efficace
Posté par ParaDoxe . Évalué à 3.
La solution de NeoX me parait la plus simple et la plus efficace.
[^] # Re: simple et efficace
Posté par steph1978 . Évalué à 2.
Méthode testé avec deux portables lenovo : installation sur le premier, ça fonctionne ; déplacement du DD dans le deuxième, ça fonctionne pas.
Je pense à un problème de driver de carte graphique.
Peut être qu'en installant directement sur le deuxième, j'aurai eu le même problème. Mais je pense que la détection matérielle faite sur le premier portable a sélectionné des drivers qui ne correspondent pas au deuxième.
Bref, pas convaincu par cette méthode.
# Commentaire supprimé
Posté par Anonyme . Évalué à 3.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Copie de l'iso
Posté par steph1978 . Évalué à 2.
Je dirai même que cela ne fonctionnera pas.
Le MBR du disque doit pointer (= adresse d'un bloc du disque) vers un exécutable (souvent Grub).
En copiant l'iso à partir du bloc 0, ou même du bloc 1, le MBR ne pointera vers rien du tout et ça bootera pas.
# tu vas juste livebooter sur le disque, pas installer
Posté par machmalabala . Évalué à 2.
Pourquoi tu ne peux pas booter sur l'usb?
Sinon ta méthode as au moins deux gros soucis :
- Tu ne vas pas installer linux sur le dd. tu vas juste le rendre livebootable (même process que pour faire une clef usb bootable). donc à chaque reboot, tu perds tout, update, conf, data
- Comme le dis Francesco, tu ne vas pas pouvoir utiliser l'intégralité de la taille de ton disque
Si tu veux faire une install propre sur ce disque, à partir d'un autre ordinateur tu peux le partitionner, le formater puis utiliser debootstrap+chroot (pour du debian based, ou les archinstall scripts pour archlinx) sans oublier d'installer grub. Là tu auras une vraie install.
Tu peux te baser là dessus : https://help.ubuntu.com/community/Installation/FromLinux#Without_CD
# Réponse.
Posté par thor_tue . Évalué à 1.
Merci pour vos réponses. En fait, je crois que je soulève un cas d'école intéressant. J'aimerais vraiment bien épuiser le sujet et comprendre. Je précise qu'il faut que ce soit une méthode légère, si ça nécessite des tas de manipulations, ça aurait peu d'intérêt.
@Julien_J06
Extrait de la page d'accueil :
"MultiSystem vous propose La première clé USB MultiBoot du marché."
Voir remarque suivante.
@machmalabala
Le BIOS ne supporte pas le boot depuis le port USB. Encore une fois, ça serait la méthode de choix.
@NeoX
Je ne comprends pas du tout. Tu vas installer un système relatif à l'autre matériel (avec les modules spécifiques pour gérer cette configuration matérielle précise). Il ne suffit pas du tout que ce soit tous les deux des 32 ou 64 bits.
@Francesco
"la recherche des secteurs défectueux est une bonne idée en soit, mais si c'est pour écraser de manière brutale les données via un dd derrière"
Exact. Je vais postuler que le disque est sans défaut (j'ai un stock de vieux DD).
"tu vas te retrouver avec un disque dur sans table des partitions"
Oui… mais est-ce gênant ? ; pas sûr à ce niveau.
@machmalabala
"Tu ne vas pas installer linux sur le dd. tu vas juste le rendre livebootable".
À supposer que ce soit vrai, en quoi serait-ce un problème ? Parce qu'une fois qu'on a un noyau en RAM, je dois pouvoir partitionner, formater puis lancer l'installation proprement dite.
Effectivement, "debootstrap" est peut-être une solution. Je viens de voir aussi "ISOLINUX".
Je suis presque sûr que je suis près de la solution avec ma méthode.
[^] # Re: Réponse.
Posté par NeoX . Évalué à 9. Dernière modification le 19 juillet 2014 à 12:53.
avec tout le respect, tu as un reflexe de windowsiens avec les problemes de drivers tres (trop) specifiques à la machine.
sous linux, sauf si tu installes les modules prorietaires graphiques, tout est detecté en automatique et beaucoup de pilotes sont "generiques" et inclus dans le noyau.
tu peux donc installé le systeme de base sur une machine rapide, equipée d'un DVD, d'une connexion internet ou bootant sur USB,
puis transferer le disque dur sur la machine d'à coté et finir l'installation ainsi.
si tu savais le nombre de fois ou j'ai fais mes installations comme ca.
le seul piege c'est installé un linux 32/64bits en fonction de la machine finale
parceque l'integralité de l'ISO ne va pas rentrer en RAM
et que pendant l'installation il aura besoin d'acceder aux données qui sont …
dans l'image ISO, sur le disque dur,
que tu viens juste de formater pour lui faire installer linux dessus.
[^] # Re: Réponse.
Posté par thor_tue . Évalué à 1.
Je n'utilise plus Windows depuis 2002. ;) Je ne découvre donc pas Linux, mais en fait les installations se passaient assez bien, donc je n'ai pas eu à étudier le processus de boot aussi en détail.
Ça serait aussi simple que ça ? Je suis tout de même très surpris, mais si tu le dis. À la vérification 32/64 près, ça serait même ultra-simple comme méthode !
En ce qui concerne ma méthode, au tout départ j'avais effectivement pensé à la nécessité de deux partitions. Si cela se confirme, ça ne serait pas une vraie contrainte. Quitte à supprimer la partition temporaire après l'installation, d'ailleurs (en étendant une autre pour récupérer l'espace).
[^] # Re: Réponse.
Posté par NeoX . Évalué à 2.
la technique de la double partition pourrait etre valable si clones un systeme deja installé, que tu copies "l'image" et l'outil de clonage dans l'une des partitions et que tu restaures dans l'autre (comme font bon nombres de constructeurs)
mais si tu deposes le CD dans une partition, il faut encore que l'outil d'installation sache aller chercher sur autre chose que le lecteur de CD, ou la clef USB pour prendre ses fichiers.
[^] # Re: Réponse.
Posté par kna . Évalué à 2.
Presque. Tu as quelques détails à prendre en compte, mais rien qui ne sera bloquant.
Dans ton cas, tu pourras voir ça après coup (tu n'est pas en train de restaurer un backup sur un nouveau serveur à distance et sans KVM :)
il peut manquer un firmware
si tu utilises une release un peu ancienne (genre une debian stable) :
si tu utilises une distrib up-to-date (par ex archlinux) :
[^] # Re: Réponse.
Posté par Chris K. . Évalué à 1. Dernière modification le 19 juillet 2014 à 15:42.
Oui je confirme ce que te dis NeoX ça va très bien fonctionner tant que tu ne te trompes pas d'archi.
La seule petite astuce qui me viens à l'esprit dans ce cas sera de modifier la conf udev pour l'affectation des noms des cartes réseau car ta carte de la seconde machine va se nommer eth1 au lieu d'eth0. Ce qui serait un véritable drame bien entendu ^_^. Une ligne a supprimer, rien de bien méchant.
Le boot graphique devrait fonctionner sans rien modifier tant que tu n'as pas de fichier de conf pour Xorg dans /etc/X11 et que ta carte est supportée bien entendu.
Attention a ne pas faire l'installation sur une machine doté d'un EFI, ton chargeur de démarrage pourrait ne pas fonctionner dans ce cas.
edit: grilled en partie ^_^
[^] # Re: Réponse.
Posté par NeoX . Évalué à 5.
Je complete l'info de mes deux confreres,
en effet j'ai juste oublié le coup de udev qui nomme les cartes reseaux en dur dans un fichier de config à partir de l'adresse MAC de la carte
du coup sur la machine d'installation la carte AA:BB:CC:DD:EE:FF est bien eth0
ca fait la config
puis tu clones ou tu installe le disque dans une autre machine,
eth0 n'existe pas, mais le systeme detecte une carte BB:XX:DD:EE:FF:GG et la nomme eth1
rien de bien genant, tu es surement en dhcp, ton reseau t'attribue quand meme une addresse,
mais dans 6 mois faudra se souvenir pourquoi la carte s'appelle eth1 alors qu'il n'y en a qu'une sur ma machine.
=> avant de deplacer le disque, juste faire un
sudo rm /etc/udev/rules.d/70-net-persistent-net.rules
et c'est parti.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
# copier une installation existante ...
Posté par Guy . Évalué à 1.
Tu copies avec clonezilla un disque déjà installé sur une autre machine ayant la même architecture (amd64, i386, …). Avec clonezilla, ton disque de destination doit être au moins aussi grand que le disque d'origine.
Sinon (si ton disque est plus petit) tu peux faire cette manip "à la mano" : partitionnement, copie du système (avec un cp -a ou un rsync -aHx --numeric-ids), puis installation de grub.
Il faut bien sûr que grub (ou autre) soit correctement installé puisque tu n'auras pas la possibilité de le corriger sur ta machine.
# La suite...
Posté par thor_tue . Évalué à 1.
Ma station de travail est un AMD 64 or le vieux PC est un 32 bits. :(
J'essaye de faire la synthèse de vos contributions (et merci), mais je teste déjà ma méthode pour voir où elle bloque. Donc…
(le DD en question est /dev/sdb connecté par port USB en externe).
Je fais (pour être sûr d'écraser la table de partition):
dd if=/dev/zero of=/dev/sdb bs=512 count=1
Puis :
dd if=~/Téléchargements/debian-7.6.0-i386-netinst.iso of=/dev/sdb
J'installe le DD sur le vieux PC et ça boot sans problème !
J'ai pris soin de prendre la version Debian pour installation par la Toile, mais à un moment le programme me demande de pointer un lecteur optique pour y chercher de quoi poursuivre l'installation.
Je bascule dans le shell (très rustique) du programme d'installation et lsmod + lspci me montrent que l'USB est bien reconnu. Donc normalement il suffirait de monter une clef USB adéquate et récupérer le minimum absolu pour poursuivre.
J'ai l'impression qu'il manque presque rien et je précise que ça reste très rapide et léger comme manipulation.
[^] # Re: La suite...
Posté par Chris K. . Évalué à 5.
Même si la machine est en amd64 tu peux l'utiliser pour installer une distribution i686 / 32bits avec c'est pas un problème ;)
# Bingo !
Posté par thor_tue . Évalué à 4.
Bon, résultat des courses…
J'ai testé ma méthode avec 3 images : Debian, Ipcop (un firewall Linux) et même Pfsense (du BSD donc). Dans tous les cas j'ai réussi à booter sans problème et lancer l'installation ; mais en effet, il y a problème dans les 3 cas, visiblement lorsqu'il s'agit d'écrire sur le disque. Zéro succès.
Et c'est alors que j'ai eu une idée toute simple : utiliser un second DD et mettre l'image dessus ! Et là tout roule.
1) HD1 : cible de l'installation, HD2 : héberge une image.
2) Boot sur HD2, démarrage de l'installation, aucun problème pour partitionner et formater HD1, puis donc écrire dessus. À la fin de l'installation le système reboot.
3) Là j'en profite pour rendre invisible HD2 depuis le BIOS et j'active le boot sur HD1.
4) Terminé !
Je suis très content, c'est vraiment simple à faire et rapide. Et générique.
La commande dd fonctionne parfaitement, en fait je n'ai eu aucune difficulté à trouver des images bootables. Il faut faire bien attention d'écrire depuis le début du disque (là où la table de partition est écrite), je pense, pour bien écraser ce qui y traîne d'antérieur.
Pour information, le but était de mettre sur des configurations obsolètes des firewalls. Ces vieilles machines conviennent très bien pour ça, et elles finissent leurs vies ainsi.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.