web-dev-qa-db-fra.com

Ubuntu 11.10 (Oneiric Ocelot): Installez Windows sur une partition logique / étendue - double démarrage

J'ai trois partitions primaires/de base:

  • sda1. Lecteur racine Ubuntu 11.10 (40 Go)
  • sda2. Racine FreeBSD (20 Go)
  • sda3. Lecteur racine Windows XP (4 Go)

J'ai une partition logique/étendue, sda4 de 234 Go, divisée en cinq disques (sda6 ~ 9).

La partition principale n ° 3 (sda3) ne dispose que de 4 Go d'espace disque, ce qui est très insuffisant (je n'ai besoin de Windows que pour MS Office et de quelques logiciels d'ingénierie étranges; je souhaite donc utiliser le moins possible, mais de manière efficace, espace pour cela).

Puis-je installer Windows XP sur l’un des disques (sda6 ~ 9) de la partition logique/étendue sans endommager la structure de la table de partition et dans TOUS les éléments principal et logique partitions/disques?


Partitions structure: /dev/sda

/dev/sda1   ext4   /       Oneiric-Ocelot       40G
/dev/sda2   ufs            FreeBSD              20G
/dev/sda3   ntfs           WinXP Pro            4G      #This will be formatted 'ext4' & contents of '/Mix' will come here
/dev/sda4   extended                            234G
    /dev/sda5   ext4    /Docs        Docs              34G
    /dev/sda6   ext4    /Multimedia  Multimedia        186G
    /dev/sda7   unallocated                            2MB
    /dev/sda8   ext4    /Mix         Mix               10G   #Windows XP is to be installed here
    /dev/sda9   linux-swap                             04G
3
user55050

Windows peut être installé non seulement sur une partition principale, mais également sur une partition logique. Oui, le chargeur de démarrage de Windows installé sur une partition logique ne s'exécutera pas, mais il peut toujours être démarré par le chargeur de démarrage d'un système d'exploitation situé sur une partition principale.

Cela s'applique aux utilisateurs qui souhaitent installer Windows sur une partition logique avec une autre version préinstallée de Windows sur la partition principale. Cela a été fait par le logiciel EasyBCD .

1
Avinash Raj

J'ai une autre chose qui fonctionne, beaucoup plus complexe, mais qui fonctionne aussi.

Tout d’abord un avertissement pour ce schéma: Si vous n’avez qu’un seul disque dur, il est possible que vous ne puissiez pas installer Windows car le schéma est (je n’ai pas essayé, j’ai utilisé une précédente fenêtre installée sur un disque MBR par clonage de Windows. partition avec GParted).

Les impératifs que je m'impose (pour rendre les choses vraiment compliquées):

  1. BIOS uniquement PC (pas de U-EFI, pas de partition EFI, etc.) et supporte uniquement les 32 bits (pas de 64 bits autorisés) pour rendre les choses vraiment difficiles
  2. Un seul disque dur est présent (comme dans la plupart des ordinateurs portables) et aucun autre stockage (pas d'USB, etc.)
  3. Le disque dur sur le style GPT (pas MBR), voici l'avertissement, Windows ne peut pas démarrer à partir de GPT en mode natif (nécessite un disque externe ou virtuel MBR pour démarrer)
  4. Grub2 comme chargeur de démarrage principal
  5. Multi-Windows 32Bits (versions domestiques), également pour rendre les choses beaucoup plus difficiles
  6. Isoler toutes les fenêtres, juste pour compliquer un peu les choses
  7. La sélection du menu principal doit faire apparaître le bureau Windows sélectionné (ou au moins l'ouverture de session Windows, cela dépend de la façon dont vous configurez les fenêtres)
  8. 100% légal, donc pas de copie de fichier depuis une version différente de Windows, etc.

Remarque: j’ai laissé XP (ne prend pas en charge GPT), uniquement pour Vista jusqu’à 10.

Le schéma de démarrage correspond au chargement du BIOS Grub2, puis le memdisk est chargé et un fichier VHD (un par Windows) est monté et chargé en chaîne.

Ce disque dur virtuel doit avoir une taille fixe (pour permettre au memdisk lo loop de le monter au démarrage), il s’agit d’un disque dur virtuel doté d’un schéma MBR (nécessaire pour démarrer Windows) avec une seule partition NTFS; le disque dur virtuel lui-même est stocké sur un partition NTFS GPT. Ces fichiers VHD font l'isolation de Windows, chaque fenêtre a son propre BCD, ils n'utilisent pas tous le même BCD, il n'est donc pas nécessaire de présenter au démarrage un menu de démarrage de Windows.

À l’intérieur de ce disque dur virtuel, la partition n’est utilisée que pour le code d’amorçage NT60 et le matériel BCD. J'ai utilisé 32MiB pour ce type de disque dur virtuel, et je n'obtiens que près de 2MiB gratuits, et ainsi n'utilisez pas moins de taille ou ne mettez pas tous les répertoires locaux BCD, etc.

Pour que tout cela fonctionne, vous devez mettre le code nt60 et BCD sur ce fichier VHD, de sorte que le fichier VHD doit être monté, ce qui peut être fait avec diskpart et avec le support d'installation.

Je n’ai pas essayé de faire une installation complète. En théorie, si vous montez ce disque dur virtuel, insérez le code nt60 et BCD dans l’installation, l’installation doit vous permettre de continuer (il peut voir un disque MBR et penser qu’il est préconfiguré). avec une autre fenêtre).

J'ai essayé avec de nombreuses versions Windows Home 32 bits (de Vista à 10) et elles démarrent toutes correctement à partir d'un disque GPT, puisqu'elles voient toutes au démarrage un disque virtuel MBR où se trouvent le code de démarrage nt60 et BCD.

Maintenant, j'essaie une approche/un test différent:

  • Mêmes conditions que précédemment mais avec un seul disque MBR avec une seule partition étendue représentant 100% du disque, aucune partition principale n'est donc présente.

Je sais que, si aucune partition principale n’est présente, Windows ne pourra pas démarrer, mais là encore, je vais utiliser l’astuce consistant à disposer d’un disque virtuel MBR avec une partition NTFS principale dans laquelle je mets du code de démarrage NT60 et des éléments BCD; un par fenêtres.

Conceptuellement, cela doit aussi fonctionner, puisque Grub2 peut être démarré à partir de partitions logiques (ainsi que de la plupart des Linux, etc.).

Pourquoi je fais toutes ces choses complexes? La réponse facile pourrait être un cryptage à 100%, chaque fenêtre ayant son propre mot de passe, etc.

Réponse complexe:

  1. BitLocker envoie des mots de passe aux serveurs M $ et NSA. Il est également doté d'une grande porte arrière qui permet de les monter sans mot de passe.
  2. TrueCrypt & VeraCrypt ne prend pas en charge les fenêtres multiples, elles ne les ont pas non plus isolées (elles utilisent un lieu commun pour leur travail), de sorte qu’une seule fenêtre peut être protégée, etc. s'il vous plaît rappelez-vous seulement le BIOS et Windows 32Bit
  3. DiskCryptor permet de protéger plusieurs fenêtres isolées, ainsi que de protéger les partitions GPT (uniquement celles de données, pas celle du système)
  4. Je ne fais confiance à aucun autre cryptage qui ne vous permette pas d'utiliser des algorithmes de cascade, etc. Je ne fais pas confiance à un cryptage qui ne me laisse pas voir le code source (ce qu'ils essaient de cacher? des portes dérobées? etc.).

Donc, avec le schéma GPT, DiskCryptor ne fonctionne pas au démarrage, je lis le code source et il n’a pas de code pour monter les partitions GPT au démarrage, donc:\Windows\System32\Winload.exe ne peut pas être trouvé, donc Windows démarrage. J'ai testé avec deux disques durs physiques avant de télécharger le code source, je devenais en colère, alors j'ai décidé de télécharger le code source car je pouvais voir le code source manquant pour le montage GPT au démarrage.

Puisque DiskCryptor peut monter automatiquement au démarrage plus d’une partition MBR (toutes celles qui utilisent le même mot de passe seront montées), j’essaie maintenant d’utiliser la partition 100% étendue.

Pourquoi ne pas mettre une partition primaire physique et y stocker l'ode de démarrage nt60 et le matériel BCD? De cette façon, toutes les fenêtres peuvent être installées et démarrées en mode natif, sans besoin de rien de plus; mais ils ne seront pas isolés à 100%, ils partageront cette partition, donc si on y touche mal, personne ne pourra démarrer, et encore chiffrer 100% du disque (toutes les partitions, pas le secteur de démarrage, pas la table de partition, etc.) ) ne sera pas possible en mode isolé, au moins un mot de passe doit être utilisé pour toutes les fenêtres au moment du démarrage.

Imaginez un scénario réel:

  • Multipliez les utilisateurs, chacun utilise son propre Windows, donc quoi qu’ils fassent, ils le font sur leurs fenêtres
  • Si un utilisateur bloque ses fenêtres, les autres utilisateurs ne sont pas affectés
  • Chaque utilisateur peut avoir ses propres applications, également des applications nécessitant des privilèges d'administrateur, etc.
  • Avec le cryptage isolé, ils ne peuvent pas lire les choses des autres utilisateurs.

La meilleure approche consiste à utiliser un disque SATA externe (comme s'il était interne), qu'ils emportent avec eux-mêmes.

Mais je veux que ce soit interne, etc.

Le véritable motif est que j'aime faire des choses dures, complexes et pas déjà faites; J'aime tester mes propres compétences, c'est aussi un moyen d'apprendre beaucoup.

Espérons que vos esprits sont maintenant plus ouverts aux méthodes alternatives de démarrage de Windows.

PD: Avec Linux, cela est beaucoup plus facile, Windows rend les choses plus difficiles que ce qui est nécessaire (charge de code nt60 bootmgr, qui a une recherche codée pour uniquement la partition active principale du MBR où il essaiera de lire winload.exe , etc).

1
Laura

Vous pouvez installer Windows sur une partition étendue/logique si vous avez déjà une partition principale NTFS de rechange sur le même disque dur. Le programme d'installation Windows installera le système d'exploitation sur la partition étendue choisie, mais il aura besoin de la partition principale NTFS pour installer le chargeur de démarrage.

Une fois Windows installé, vous pouvez supprimer la partition principale NTFS de rechange, si vous le souhaitez. Mais vous devrez ensuite installer le chargeur de démarrage BCD sur la partition logique sur laquelle vous avez installé Windows. Utilisez bcdboot après avoir démarré à l’invite Invite de la commande de récupération Windows (à l’aide du CD d’installation de Windows). Remplacez la lettre de lecteur en fonction de votre situation, puis exécutez la commande suivante ...

bcdboot i:\windows /s i:

Où i: est la lettre de lecteur attribuée par le CD d’amorçage à la partition sur laquelle Windows a été installée. Utilisez la commande Windows diskpart pour déterminer quelle lettre de lecteur est affectée à quel volume.

Vous devrez maintenant configurer GRUB2 pour démarrer directement à partir de cette partition. Démarrez Ubuntu et exécutez la commande suivante ...

Sudo update-grub

Le menu GRUB2 devrait maintenant lister Windows en option.

Remarque: Si plusieurs versions de Windows sont installées sur la machine, vous devez envisager d'utiliser la commande GRUB2 parttool dans votre fichier grub.cfg pour masquer les partitions des autres systèmes d'exploitation au moment du démarrage.

parttool (hd0,2) hidden- # Unhide the partition for current OS
parttool (hd0,3) hidden+ # Hide the partition for the other OS
1
Autodidact