Plusieurs installateurs Windows sur une clé USB

12

J'ai récemment mis la main sur l'un de ces sticks SanDisk Extreme 64 Go et j'ai commencé à le bricoler. Au cours de cette histoire, veuillez garder à l'esprit qu'il s'agit d'un modèle où removablebit est défini sur 0(ce qui signifie que Windows voit toutes ses partitions par défaut - chacun est affiché comme un seul disque dans l'explorateur).

Buts:

  1. Pour avoir de nombreuses distributions de démarrage différentes sur un seul bâton
  2. Parmi ceux-ci devraient être le programme d'installation de Windows 7 ET le programme d'installation de Windows 8
  3. Une seule partition doit être montée automatiquement sous Windows (et de préférence d'autres systèmes d'exploitation) - la première (stockage des fichiers). Cela permet d'éviter toute altération accidentelle des partitions ou fichiers amorçables. Il doit être de type NTFS.
  4. En option, je voudrais également un linux entièrement persistant directement amorçable (de préférence Ubuntu) sur cette clé.
  5. Toutes ces fonctionnalités devraient être disponibles à partir d'un seul menu affiché au moment du démarrage de la machine à partir de la clé USB.

Randonnées:

Maintenant, tout cela peut être réalisé assez facilement en utilisant une combinaison de SYSLINUX et GRUB (vous verrez ci-dessous). Cependant, il y a un problème: tous les éléments amorçables basés sur Linux (ceux qui utilisent le create ramdisk -> load kernel -> have funschéma: comme PartEd Magic, Ubuntu Installer, etc.) ne semblent avoir aucun problème à s'exécuter à partir de leur propre dossier sur une seule partition amorçable. Ils s'entendent très bien en les plaçant simplement dans des dossiers différents et en pointant sur eux des entrées de menu SYSLINUX uniques (quel que soit leur utilisation après cela, il pourrait s'agir d'un autre SYSLINUX :)).

Le problème (comme toujours: D) est dans les programmes d'installation de Windows. Ils (ou devrais-je dire bootmgr) refusent de reconnaître les chemins relatifs. Si vous placez un programme d'installation de Windows dans un dossier, par exemple, Win7pour qu'il ressemble /Win7/bootmgr, le truc sacré cherche \Boot\BCDquand le contrôle est passé (pas \Win7\Boot\BCD- l'emplacement dans lequel il est réellement stocké). Après avoir appris que, naturellement, vous ne pouvez pas mettre plus d'un programme d'installation Windows sur une seule partition (une structure de répertoire unique). Cela viole le BUT 2 .

Régime actuel:

Besoin de 10 points de réputation pour publier des images :(. Voici le schéma visualisé.

La description:

  1. Partition NTFS normale. Faites ce que vous voulez - cela n'affectera pas ces liens de démarrage sensibles :)
  2. Partition de démarrage FAT32. C'est là que le contrôle est transféré du MBR. Celui-ci doit être principal pour pouvoir transférer le contrôle du MBR. Il contient SYSLINUX principal - celui qui affiche le menu ( OBJECTIF 5 et OBJECTIF 1 ). Toutes les partitions ci-dessous sont étendues pour lever max-4-partitions-primaires par disque
  3. Programme d'installation de Windows 7. Cette partition contient un secteur de démarrage qui pointe vers GRUB sur lequel il pointe /bootmgr(ne demandez pas pourquoi tant de chargeurs de démarrage - c'est une configuration de test :)). Fonctionne bien sauf le souci ci-dessous ( OBJECTIF 2 ).
  4. Programme d'installation de Windows 8. Cette partition contient un secteur de démarrage qui pointe vers GRUB sur celui qui pointe vers /bootmgr. Fonctionne bien sauf le souci ci-dessous ( OBJECTIF 2 ).
  5. Partition Linux persistante sur laquelle Ubuntu a été installé à l'aide de méthodes normales (à partir de la même clé USB). Il utilise GRUB pour gérer son menu de démarrage. A également un secteur de démarrage bien sûr ( GOAL 4 ).
  6. Échange Linux. Utilisé par Linux sur la partition précédente en général mais n'est lié par aucune restriction quant à qui peut l'utiliser.

Maintenant, tout semble correct (et cela fonctionne) .. sauf GOAL 3 .

Problèmes:

  1. J'ai essayé d'utiliser hiddenflag pour cacher ces partitions à la vue de Windows et cela a bien fonctionné, même trop bien. Il les a également cachés à la vue de l'installateur de Windows. Lorsque j'ai essayé d'installer Windows à partir d'une partition cachée, le programme d'installation n'a essentiellement pas trouvé d'où il avait démarré: O. C'est un problème CRITIQUE .
  2. J'ai utilisé 2 partitions supplémentaires pour héberger les installateurs Windows. Ce n'est pas vraiment un bon schéma car chaque fois que je souhaite changer quelque chose et qu'il ne tient pas sur ceux-ci, je dois re-partitionner. C'est une question NON CRITIQUE - je peux vivre avec ça.

Mes pensées:

  1. Il y a des choses comme ISOLINUX et GRUB4DOS (elles apparaissent lorsque vous recherchez à ce sujet). D'après ce que j'ai compris, ils peuvent m'aider à monter le .iso amorçable de l'installateur Windows . Est-ce vrai? Certaines pages contiennent un avertissement sur les images montées comme celle-ci ne seront accessibles qu'au démarrage du BIOS - lorsque le programme d'installation de Windows démarre, il ne pourra pas voir l'image montée. Est-ce vrai? Pouvez-vous m'orienter dans la bonne direction?
  2. Peut - être que je pourrais utiliser un programme d' installation personnalisé pour Windows (parce que l' essentiel, je me bats bootmgrici 100% du temps) ou chrootla bootmgrcertaine façon pour qu'il devienne sain d' esprit? Cela peut-il être effectué? Je pense que cela me pose toujours un problème: la partition est toujours cachée et le programme d'installation ne la verra probablement pas.
  3. Je pourrais peut-être pirater le chemin bootmgr, bien que ce soit une hypothèse assez audacieuse :)

S'il y a des conseils supplémentaires à ce sujet, vous êtes les bienvenus pour en discuter ici. Je suis ouvert à toutes suggestions. S'il y a quelque chose qui doit être clarifié ou des informations supplémentaires doivent être fournies - n'hésitez pas à demander.

Merci beaucoup!

Gear54rus
la source
Installateurs Windows WRT: Pourquoi avez-vous besoin de plusieurs chargeurs de démarrage? Il devrait être possible de modifier ses entrées pour pouvoir démarrer les deux programmes d'installation à partir de la même partition en utilisant la version la plus récente (c'est-à-dire celle de Windows 8)?
Mario
Pouvez-vous donner l'exemple sur la façon de procéder? D'après ce que j'ai compris, vous faites référence à une configuration où j'utilise un seul bootmgr mais plusieurs installateurs? Quelque chose que je pouvais lire à ce sujet?
Gear54rus
Je ne l'ai jamais essayé moi-même, mais fondamentalement, le gestionnaire de démarrage sur le DVD d'installation n'est pas différent d'une installation de disque dur normale, vous devriez donc être en mesure d'utiliser des outils tels que BCDEdit pour créer une configuration "dual boot".
Mario
D'accord, je pense avoir trouvé la solution partielle. Je posterai tout ici lorsque je le testerai à fond. Il me reste un autre problème: comment faire pour que l'installateur Windows voit la perturbation cachée
Gear54rus
J'ai édité le fichier BCD. J'ai décompressé le programme d'installation de Windows 7 .iso dans le dossier / Win7 sur une partition SYSLINUX. Puis j'ai tiré bootmgret bootde Win7 dans le dossier racine et édité /boot/BCDfichier pour refléter les changé deviceet les osdevicenœuds. Après que l'installateur démarre correctement depuis SYSLINUX via chain.c32 fs ntldr=/bootmgrmais après cela le A required CD/DVD drive device driver is missingmessage redouté apparaît. La réinsertion dans un autre port USB n'aide pas. Lorsque je clique, Browseje vois que le disque virtuel a été bien monté et possède tous les dossiers dont il a besoin. Je suis de nouveau perdu :(
Gear54rus

Réponses:

6

Après un voyage long et finalement réussi, j'ai pu tout faire.

J'ai créé un tutoriel sur la façon d'effectuer cela . Vérifiez-le.

Par demande, je poste également le tout ci-dessous:

Logiciel:

Tout d'abord: vous avez besoin d'un PC avec Windows 7/8 et d'un accès administratif (Vista peut fonctionner, pas sûr). C'est là que le didacticiel sera effectué.

Pour effectuer tout ce dont nous aurons besoin, ce progiciel est également mis en miroir sur GitHub (cliquez sur Télécharger ZIP ). [0] (à partir de maintenant, les références seront marquées avec [] ). Pour le télécharger, vous devrez peut-être vous y inscrire (vous ne savez pas pourquoi).

Le progiciel comprend:

  • YUMI par pendrivelinux.com . [1]
  • altmbr.bin du package SYSLINUX qui permet de démarrer la partition par numéro. [2]
  • Plusieurs scripts et un exécutable (y compris le programme vmount - versions 32 et 64 bits par erwan.l et sommeil 32/64 bits à partir de ce fil pour que tout cela fonctionne ensemble [3] .

De plus, vous devez télécharger les éléments suivants:

  • WinSetupFromUSB (plus tard WSFUSB). Celui-ci est crucial pour que ce régime fonctionne. Utilisez la version .exe si vous n'avez pas installé 7zip . Ce tutoriel est écrit au moment où la version 1.4 était la dernière. [4]

En option (le logiciel que je recommande qui rendra le processus plus facile et plus flexible mais n'est pas requis):

  • Gparted en direct .iso pour le partitionnement et la définition des indicateurs de partition (les analogues incluent Parted Magic qui a décidé d'être payé récemment ou Partition Wizard qui est plus petit, mais gardez à l'esprit qu'il n'est pas Gparted et que vous devez avoir une certaine expérience pour le faire fonctionner). [5]
  • Notepad ++ est un éditeur de texte supérieur pour Windows avec de nombreux plugins. [6]

Et bien sûr, quelques installateurs Windows .isoainsi que quelques distributions Linux amorçables.Ceux-ci pourraient être tout ce que YUMI et SYSLINUX prennent en charge (vous pourrez le vérifier plus tard dans ce tutoriel).

Lorsque vous téléchargez tout cela, vous êtes prêt pour les prochaines étapes.

Concept:

Ici, le schéma de fonctionnement sera brièvement discuté.

Le schéma discuté ici est ce que j'utilise pour ma configuration. Ce n'est certainement pas le seul moyen d'atteindre le même objectif, je ferai de mon mieux pour essayer de l'expliquer afin que vous puissiez personnaliser la configuration en fonction de vos besoins.

Ce processus semble être mieux décrit dans l'image. (désolé pour Paint, la conception graphique n'est pas vraiment mon point fort):

Concept

C'est à peu près ça. Je ne sais vraiment pas comment l'expliquer mieux. Je surveillerai ce fil, n'hésitez pas à poser des questions dans les réponses.

Actions:

  1. [Configuration du logiciel]

    1. Extrayez le progiciel [0] dans un dossier ( tous les logiciels requis sont répertoriés ci-dessus, regardez-les si ce n'est déjà fait ).
    2. Extrayez WinSetupFromUSB dans le même dossier (pour qu'il soit à côté de YUMI.exetout le reste). Double-cliquez dessus et extrayez dans le même dossier.
    3. Maintenant, prenez le dossier avec WinSetupFromUSB et faites-le glisser sur le drag_here.cmdfichier. Comme ceci (la structure des dossiers devrait être comme ça aussi): MDN Si vous avez tout fait correctement, une fenêtre apparaîtra indiquant que le processus a été terminé:
      WinSetupFromUSB was set up successfully, you can delete that folder.
      Now it's time to run 'start_admin.cmd'.
      Press any key to continue...
    4. Comme indiqué, appuyez sur n'importe quelle touche pour fermer la fenêtre. N'exécutez pas encore start_admin.cmd. Passez à l'étape suivante pour définir la structure de la partition.
  2. [Partitionnement]

    1. Décidez de la structure de la partition: la vôtre doit inclure au moins 1 partition de stockage et au moins 1 partition de démarrage . La partition de démarrage doit être de type FAT32 ( FAT32 a une restriction du plus gros fichier - 4 Go et un plus grand volume - 32 Go qui est 32768 Mo. Si vous prévoyez d'utiliser des fichiers ou des volumes plus gros, vous ne pouvez pas utiliser NTFS mais vous pouvez essayer exFAT comme expérience - je ne l'ai pas essayé) et le stockage peut être n'importe quoi mais je recommande NTFS. La mienne ressemble à ceci: la partition de Structure stockage est de 32 Go NTFS et la partition de démarrage est de 15 Go FAT32 (elle n'a pas de lettre comme G: car elle a un indicateur caché déjà défini, vous en apprendrez plus tard).Si vous utilisez un gros disque, il peut être judicieux de mettre la partition de démarrage en premier car certains BIOS ont du mal à lire au-delà de certaines limites .
    2. La gestion des disques est décrite ici, mais vous pouvez utiliser tout autre logiciel que vous souhaitez pour appliquer la structure de partition (comme Gparted [5] mentionné précédemment ou Bootice qui peut être lancé à partir de WinSetupFromUSB ). Ouvrez Gestion des disques dans Windows. Cela peut être fait en recherchant dans le menu Démarrer (tapez Gestion des disques ) ou dans l'invite de commande Windows: diskmgmt .
    3. Appliquez la structure de partition souhaitée. Cliquez avec le bouton droit sur une partition pour la gérer. Cliquez avec le bouton droit sur l' espace non alloué restant après la suppression de la partition pour créer une nouvelle partition. Choisissez toujours d'attribuer une lettre de lecteur et vous pouvez la formater librement directement dans le même assistant: Création de partition
    4. Avant de quitter Disk Management, notez le numéro de votre partition de démarrage et le numéro de votre disque dans le système. Voici à quoi ils ressemblent dans Gestion des disques: Indices Ici, le numéro de disque est 2 et le numéro de partition de démarrage est 1 .
    5. Lorsque vous avez terminé d'appliquer le schéma de partition, il est temps de rendre ce lecteur réellement amorçable .
  3. [Ajout d'un environnement de démarrage de base (YUMI)]

    1. Accédez au dossier de l' étape 1 . Commencez YUMI.exe.
    2. Cochez la case Afficher tous les lecteurs et sélectionnez votre partition de démarrage dans la liste déroulante. Vous pouvez également choisir de le formater également.
    3. Maintenant, il est temps d'ajouter des distributions basées sur Linux. J'ai choisi l'assistant de partition comme exemple (vous pouvez choisir n'importe quelle autre distribution et en ajouter plus d'une, le lien vers l'assistant de partition est donné dans la section LOGICIEL ). Il est recommandé d'ajouter toutes les distributions basées sur Linux à ce stade, car il sera plus difficile de le faire plus tard une fois le disque finalisé .
    4. Sélectionnez Parcourir et choisissez votre .isoimage. L'écran ressemblera à ceci: YUMI
    5. Cliquez sur Créer et suivez les instructions à l'écran. Lorsqu'il vous demande si vous souhaitez en ajouter plus, vous pouvez choisir oui et répéter la procédure ( ne choisissez pas l'option de formatage lors de la répétition de la procédure, évidemment ) pour ajouter une autre distribution.
    6. À ce stade, le disque est amorçable. Déconnectez le disque et reconnectez-le à nouveau (cela est nécessaire pour que Windows détecte correctement la partition comme active).
    7. Accédez au dossier de l' étape 1 et exécutez en start_admin.cmd tant qu'administrateur . Ceci est crucial pour son fonctionnement, faites un clic droit dessus et sélectionnez Exécuter en tant qu'administrateur : Exécuter en tant qu'administrateur
    8. Il va vous demander le numéro de disque et le numéro de partition de démarrage (étape 2.4 ). Rouvrez Disk Management et trouvez ces numéros comme vous l'avez fait à l' étape 2.4 . Spécifiez les numéros respectifs et appuyez sur Entrée .

    [ATTENTION] Encore une fois, je ne suis pas responsable de ce qui arrive à vos disques (y compris ceux non mentionnés dans ce didacticiel) si vous ne spécifiez pas les bons disques et numéros de partition à cette étape ou à tout autre endroit.


    1. À la fin, il vous demandera si vous souhaitez compresser les exécutables avant de les mettre sur votre clé USB. La taille est rarement un problème de nos jours, donc je recommande d'entrer nici (des effets secondaires non attendus peuvent apparaître plus tard si vous appuyez sur y, ne le faites que si vous savez ce que vous faites).
  4. [Ajout d'installateurs basés sur Windows (WinSetupFromUSB)]

    1. De retour dans le même dossier, accédez au dossier WSFUSB ( pas au dossier WinSetupFromUSB ) et exécutez WinSetupFromUSB.exe en fonction de votre architecture système.
    2. Choisissez votre partition dans le menu déroulant le plus haut. Assurez-vous de le faire avec soin.
    3. Cochez la case à côté du programme d'installation de Windows 7/8 et cliquez sur le bouton à droite pour sélectionner votre programme d' installation Windows .iso .
    4. Cochez la case Options avancées . Assurez-vous que Ne pas rechercher et installer grub4dos MBR et Lancer Q-Dir avant l'installation .
    5. Vérifiez vos paramètres et assurez-vous qu'ils sont presque identiques à 100% (sauf le disque et le .isochemin) à cet exemple: WSFUSB
    6. Facultativement, vous pouvez sélectionner des noms de menu personnalisés pour Vista / 7/8 / Server Source afin que vous puissiez voir les noms personnalisés lors de la sélection des distributions Windows au démarrage.
    7. Lorsque vous êtes prêt, appuyez sur le bouton GO . Si vous avez sélectionné la case de l'étape 4.7 , il va demander les noms. Après cela, attendez la fin de l'opération .
    8. Répétez les étapes pour chaque distribution Windows que vous souhaitez ajouter.
  5. [Finalisation]

    1. À ce stade, nous avons 2 structures de démarrage : une pour Linux ( démarre à partir de MBR ) et une pour Windows (démarre à partir de bootmgr sur votre partition de démarrage). Nous devons les relier. Ouvrez votre partition de démarrage dans l'explorateur Windows .
    2. Ouvrez le fichier <drive root>\multiboot\syslinux.cfg. Il contient des informations sur le menu qui s'affiche lors du démarrage à partir de votre lecteur. Plus d'informations à ce sujet peuvent être trouvées ici: menu.c32 - syntaxe syslinux.cfg , commande chain.c32 chainloader . Pour l'instant, nous devons faire une entrée de menu qui nous permettra de démarrer nos installateurs Windows. Ajoutez les lignes suivantes en bas (ou entre d'autres entrées de menu) pour créer une nouvelle entrée de menu:
      MENU LABEL Windows Installers/Recoveries >>>
      MENU INDENT 1 
      KERNEL chain.c32
      APPEND fs ntldr=/bootmgr
      De préférence, ajoutez une nouvelle ligne vide avant et après ce code . Ajustez le libellé de l' entrée de menu si vous le souhaitez. Enregistrez et fermez le fichier.
    3. [FACULTATIF D'ICI] Ouvrez à nouveau WinSetupFromUSB . Nous allons supprimer l' entrée de menu périmée Retour au menu principal (Grub4dos) du menu des installateurs Windows. Sélectionnez l' outil Bootice .
    4. Accédez à BCD Edit . Sélectionnez un autre fichier BCD et localisez le <drive root>\boot\bcdfichier sur votre partition de démarrage: Bootice
    5. Appuyez sur le mode Facile pour modifier le fichier BCD (données de configuration de démarrage): BCD REMARQUE: Si vous n'avez qu'un seul installateur, il va être chargé juste après avoir syslinux.cfg appuyé sur l'entrée de menu que vous avez ajoutée sans afficher aucun menu du tout . Vous pouvez également vouloir appuyer sur Définir par défaut sur n'importe quel élément de menu que vous souhaitez définir par défaut . Cliquez sur Fermer et quittez l' outil Bootice . Quittez également WinSetupFromUSB .
  6. [Nettoyage (FACULTATIF)]

    1. Maintenant, nous devons supprimer les fichiers périmés. Vous pouvez ignorer cette section si vous ne vous souciez pas de ce genre de choses. Ouvrez votre partition de démarrage dans l'explorateur Windows. Ouvrez également la première partition de votre lecteur ( elles peuvent être identiques ).
    2. Les fichiers et dossiers suivants sont nécessaires au fonctionnement de ce disque ( si le dossier est répertorié, tout son contenu doit être conservé ):
      \boot
      \efi
      \multiboot
      \WINSETUP
      \bootmgr
      
    3. Les fichiers et dossiers suivants peuvent être supprimés en toute sécurité:
      .disk
      \default
      \grldr
      \menu.lst
      \plpbt.bin
      \shifthd.bat
      \usbdrive.tag
      
      Retirez-les à volonté . En outre, Windows peut créer ses stupides informations de volume système - vous pouvez également les supprimer si vous êtes chanceux. En outre, c'est le point où vous pouvez renommer votre partition de démarrage de MULTIBOOT en un autre nom (je préfère simplement Boot ). Vous pouvez le faire comme avec n'importe quel dossier via l'explorateur Windows.
  7. [Masquage de la partition de démarrage (FACULTATIF)]

    1. Maintenant, vous souhaiterez peut-être masquer votre partition de démarrage pour éviter toute altération accidentelle des fichiers qu'elle contient. Cela signifie qu'il ne sera pas visible sur la plupart des systèmes par défaut lors de l'insertion de votre disque, mais vous pourrez toujours démarrer à partir de celui-ci. Ouvrez à nouveau WinSetupFromUSB .
    2. Ouvrez l' outil Bootice et sélectionnez l' onglet Disque physique s'il n'est pas déjà sélectionné. Choisissez votre disque (soigneusement) dans le menu déroulant.
    3. Cliquez sur le bouton Gestion des pièces . La liste des partitions s'affiche.
    4. Trouvez votre partition dans la liste et appuyez sur le bouton Masquer . Une fenêtre confirmant le succès apparaîtra. Le tout ressemblera à ceci: Cache ça c'est tout . Votre partition n'est plus montée automatiquement (n'aura pas de lettre de lecteur) sur la plupart des systèmes et les fichiers nécessaires pour démarrer le lecteur ne seront pas modifiés accidentellement .

De plus, je préfère conserver le programme vmount ( [3] dans la section LOGICIEL ) pour pouvoir monter rapidement la partition cachée sous Windows si j'en ai besoin.

C'est à peu près tout, si vous remarquez une idée fausse ou une erreur, n'hésitez pas à la poster ici. En outre, les questions et commentaires sont les bienvenus.

Crédits:

Wonko , erwan.l , ilko , Steve - membres de la communauté reboot.pro qui m'ont énormément aidé dans ce fil . C'est là que le voyage s'est terminé :)

Bob qui a d'abord fait allusion au pilote ImDisk dans cette pièce .

Mario qui a renseigné sur les fichiers BCD, leur objectif et les moyens de les éditer dans cette question originale . C'est là que le voyage a commencé.

Ricky qui a corrigé une erreur d'indentation.

Gear54rus
la source
Ce serait formidable si vous pouviez également copier votre solution ici.
Cristian Ciupitu
Bien fait. Guide détaillé incroyable.
Devian