Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/04/2013, à 15:43

FelixP

[Script Bash] Créer une clé usb d'install Win® sous linux, proprement.

Salut !
J'ai créé un script (merci au forum… wink ) permettant de créer un périphérique d'install Win® facilement. Je risque encore de le modifier, donc voici le lien Dropbox, avec les différentes versions ! (winonlinux-*)
Si vous avez des commentaires, propositions, etc, je suis tout ouïe big_smile
Félix

https://www.dropbox.com/sh/kvifjq9019q9i53/DcXpIgWyE
winonlinux-2

#!/bin/bash
# Le script fonctionnera correctement avec fdisk, mkfs.ntfs, rsync, gettext, et après installation de ms-sys. Voir fin du script pour install.
# Le périphérique ne doit pas être en gpt, mais en mbr. Veuillez utiliser gparted avant dans ce cas.
### POUR INSTALLER ms-sys :
# Télécharger la dernière version sur http://ms-sys.sourceforge.net/#Download puis :
# cd ms-sys-X.X.X
# sudo make
# sudo make install 
# Je n'ai pas encore trouvé comment interrompre le script en cas d'échec, par exemple du démontage, etc. Ce sera dans la v3 je pense.
echo "Ceci est une version en cours de développement du script, il est déconseillé de l'utiliser pour le moment !"

## Tests de bon fonctionnement :
if [ ! -f /usr/local/bin/ms-sys ] ; then # ms-sys installé ?
	echo "Veuillez installer ms-sys avant. lancez $EDITOR $0 pour plus de précisions." ; exit
fi
if [ $USER != root ] ; then # Êtes-vous en root ?
	echo -e "À exécuter en Root (Administrateur) !\nExécutez \"sudo $0\" ou connectez-vous en tant que Root !" ; exit
fi
if [ $# != 1 ] ; then # M'avez-vous donné l'iso ?
	echo "Ne me prenez pas pour Dieu : je ne sais pas quelle iso vous voulez copier !" ; exit
fi
## Fin des tests de bon fonctionnement

ISO=$1
echo "ATTENTION, perte de données sur la clé !"
fdisk -l | grep " /dev/"  # Affichage des périphériques
while [ ! -b "$CLE" ] ; do  # Demande du périphérique cible
	read -p "Donnez la clé à réécrire TOTALLEMENT (sous le format /dev/sd*) :" CLE; done
KEY="$CLE?"
printf "%s\n" $KEY | sudo xargs umount  # Démontage de la cible (J'ai pas trop compris ce que j'ai écrit, on m'a donné ça et ça fonctionne.)
  # Confirmation.
while [[ "$BOOL" != "y" && "$BOOL" != "Y" && "$BOOL" != "n" && "$BOOL" != "N" ]] ; do read -p "L'iso $ISO sera copiée sur le périphérique $CLE. Okay ? (y/N) : " BOOL; done
if [[ $BOOL = n || $BOOL = N ]] ; then
	echo "Le script est interrompu par l'utilisateur, donc c'est votre faute." ; exit
fi

while [[ "$VER" < 1 || "$VER" > 3 ]]; do read -p "Vous devez, pour écrire le MBR, sélectionner la version de Windows qui va être installée. 
    1. WindowsXP/2000/2003…       
    2. WindowsVista 
    3. Windows7 ou 8 
Votre version ? (1-3) :" VER ; done    # Le MBR dépend de la version de M®W®. Il sera écrit à la fin.

# Partie effective du script ! (Enfin !)
echo "
******************Effacement du MBR.******************
"
dd if=/dev/zero of=$CLE bs=446 count=1 

echo "
***************Création des partitions.***************"
cat <<EOF | fdisk $CLE
d
n
p
1


a
1
w
EOF
mkfs.ntfs $CLE'1' --fast --no-indexing # Formatage, c'est évident.

mkdir /mnt/USBWIN  # Montage pour la copie.
mkdir /mnt/ISOWIN
mount $CLE'1' /mnt/USBWIN
mount "$ISO" /mnt/ISOWIN -o loop,ro

echo "
**************Copie. L'attente la plus longue sera sur sources/install.wim**************
"
rsync -arv --progress /mnt/ISOWIN/* /mnt/USBWIN

umount /mnt/ISOWIN 
umount /mnt/USBWIN
rm -r /mnt/USBWIN /mnt/ISOWIN
case $VER in
"1") /usr/local/bin/ms-sys --mbr $CLE ;;
"2") /usr/local/bin/ms-sys --mbrvista $CLE ;;
"3") /usr/local/bin/ms-sys --mbr7 $CLE ;;
esac
echo "Voilà ! Votre clé d'installation Windows® est prête à être utilisée."
## À faire :
# Arrêt en cas d'erreur ?
# Arrêt complet en cas de Ctrl+C ? (je pense que ça revient au même)
# Que faire si /mnt/USBWIN ou ISOWIN existent déjà ?
# Nettoyer un peu la sortie, que diable !

Il s'exécute avec les droits root, sous la forme
winonlinux chemin_vers_l'iso_à_copier
après installation de ms-sys.

EDIT : Hum, je me suis planté dans mon copié-coller, maintenant ça fonctionne smile

Dernière modification par FelixP (Le 07/04/2013, à 16:17)


Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp

Hors ligne

#2 Le 07/04/2013, à 17:19

xavier4811

Re : [Script Bash] Créer une clé usb d'install Win® sous linux, proprement.

if [ $USER != root ] ; then # Êtes-vous en root ?
	echo -e "À exécuter en Root (Administrateur) !\nExécutez \"sudo $0\" ou connectez-vous en tant que Root !" ; exit
fi

ou plus simplement au tout début du script :

if [ "$UID" != "0" ]
        then sudo $0
        exit 0
fi

tu peut aussi supprimer le sudo devant xargs umount, il ne servira pas si le script est lancé avec les droits sudo.

Hors ligne

#3 Le 07/04/2013, à 17:23

FelixP

Re : [Script Bash] Créer une clé usb d'install Win® sous linux, proprement.

Ah, je ne connaissais pas cette astuce smile Merci !
En effet… smile (Comme je l'ai écrit, je n'ai pas trop compris cette commande…)


Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp

Hors ligne

#4 Le 07/04/2013, à 18:49

Josepe36

Re : [Script Bash] Créer une clé usb d'install Win® sous linux, proprement.

Bonsoir
Je trouve le script trés intéressant, en revanche si je peux me permettre, je pense qu'il faut rajouter un contrôl d'existance de l'iso.
Si l'argument iso passé en argument n'est pas bon ça va crasher trop tard.

Ensuite si celà t'intéresse on peut, enssemble, on faire une application graphique.


Développeur distribution Hybryde
www.hybryde.org

Hors ligne

#5 Le 07/04/2013, à 19:32

FelixP

Re : [Script Bash] Créer une clé usb d'install Win® sous linux, proprement.

Ah oui, en effet !
(à la base, je récupérais l'iso de la même façon que le périphérique, donc j'effectuais le test d'existence… Il faut que je le rajoute !)
Sinon, pour tester ensuite le type, faudrait un truc du genre
TYPE="# ISO 9660 CD-ROM"
if [[ $(file -b $ISO) = "# ISO 9660 CD-ROM" ]]; then okay else erreur; fi
non ?
Pourquoi pas smile J'ai des concours là donc pour le moment je vais (essayer de) bosser, mais après, ça me dit !


Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp

Hors ligne

#6 Le 07/04/2013, à 19:41

Josepe36

Re : [Script Bash] Créer une clé usb d'install Win® sous linux, proprement.

fais moi signe quand tu le souhaites, je suis toujours partant pour les belles initiatives.


Développeur distribution Hybryde
www.hybryde.org

Hors ligne

#7 Le 07/04/2013, à 19:43

FelixP

Re : [Script Bash] Créer une clé usb d'install Win® sous linux, proprement.

Okay ^^ (pour moi, ce serait en GTK hein big_smile) (Mais je vois que tu as déjà un peu d'expérience dans le domaine, non ? smile )


Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp

Hors ligne

#8 Le 07/04/2013, à 19:57

Josepe36

Re : [Script Bash] Créer une clé usb d'install Win® sous linux, proprement.

Gtk pas de soucis, c'est parfait smile

Mais je vois que tu as déjà un peu d'expérience dans le domaine, non ?

hy-d-v1 arrive (http://www.hybryde.org/), écris en python Gtk+WebKit, donc oui j'ai un peu d'expérience.

Mais c'est pas la question pour moi, mon plaisir serait de suivre ton projet et éventuellement t'apporter mes connaissances pour que tu arrives a developper ton bébé dans
les meilleurs conditions. smile


Développeur distribution Hybryde
www.hybryde.org

Hors ligne

#9 Le 07/04/2013, à 20:00

FelixP

Re : [Script Bash] Créer une clé usb d'install Win® sous linux, proprement.

Fioouuuu… Un environnement de bureau ? smile (C' pas qu'un peu alors !)
Okay, eh bien je te dis quand je pourrai me mettre à ça big_smile

EDIT : Ah, non, une distrib entière basée sur un mélange de divers environnements… Ça c'est pas mal !

Dernière modification par FelixP (Le 07/04/2013, à 20:04)


Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp

Hors ligne

#10 Le 07/04/2013, à 20:03

Josepe36

Re : [Script Bash] Créer une clé usb d'install Win® sous linux, proprement.

cool, ça va être fun alors smile
et puis en fonction du résultat on pourra l'integrer su hybryde si tu le souhaites.

Dernière modification par Josepe36 (Le 07/04/2013, à 20:03)


Développeur distribution Hybryde
www.hybryde.org

Hors ligne