Windows

From Grid5000
Revision as of 13:22, 18 September 2007 by Xdelaruelle (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Cette page a pour objectif de rassembler les informations nécessaires au déploiement d'un Windows (famille NT) sur grid5000.

Contents

Image disque

Il est possible de faire une image du système fichier windows de deux façon différentes.

  • tar : On récupère l'ensemble du contenu du filesystem.
    • Avantage :
      • simple, efficace (temps et performance).
      • Bonne prise en compte du fs FAT.
    • Inconvénient :
      • Comportement de tar avec les ACL NTFS.
      • Pas de prise en compte du Bootsector.
  • dd : On récupère l'ensemble des informations de la partition.
    • Avantage : Récupération complète du système de fichier (méta-donnée inclus) et boosector.
    • Inconvénient :
      • Lent en comparaison à tar
      • dépendance avec l'emplacement physique sur le disque.
      • dépendance avec le disque dur (à vérifier mais problème probable de CHS).

Boot loader

Intro

Comme tout OS x86 démarrant sur un disque dur, Windows passe par la phase

  • Boot MBR
  • stage 1 du boot sector de la partition cible.
  • stage 2 contenu dans la partition cible.

Mais en plus de cette phase standard Windows passe par

  • stage 3 : ntldr un bootloader similaire au chargeur Grub.

Ceci est décrit

Les 16 premiers secteurs d'une partition NTFS (stage2), ou les 3 premiers secteurs d'une partition FAT32 (stage2 encore une fois), permettent de charger le fichier NTLDR. Ces secteurs ne contiennent pas seulement le code d'amorçage, mais ils contiennent aussi la géométrie de la partition (CHS).

Problème

Il n'existe pas de programme Unix de génération de bootloader Windows. Les programmes de restauration de bootsector pour l'OS Microsoft sont compatible NT, ils sont rustiques (peu documenté, 1 seul paramètre la lettre de la partition), pire il ne marche pas à tous les coups, et ne sont disponibles que dans le système de récupération (disponible sur disquette et CD, mais pas scriptable) ou en graphique. Pour plus d'info chercher les commandes fixboot, fixmbr.

Il n'existe pas (à ma connaissance) un générateur de bootsector pour FAT ou NTFS compatible UNIX.

Une solution

Lancer le bootloader Windows par PXE.

Comment faire: Windows permet la création de disquette de boot NT.

On demande à Windows de formater une disquette standard, celui ci place un secteur de boot sur celle ci (à son habitude, sans qu'on lui demande son avis). Il suffit de copier les fichiers ntldr, ntdetect.com et boot.ini (en principe seul ntldr et boot.ini sont nécessaire). boot.ini est le fichier de conf du démarrage de la machine. Celui ci devra être correctement renseigné pour démarrer le bon kernel de la bonne partition du bon disque dur. Pour de plus amples informations sur boot.ini, voir

Puis utiliser le bootloader memdisk de la suite syslinux et lui donner la disquette d'amorçage comme disque de boot.

Cette solution à été testée, et elle est fonctionnelle.

Note: Cette solution introduit un nouveau problème : la génération d'une disquette à la volée.

Tests effectués

Ces tests ont été réalisés sous qemu.

  • installation de Windows XP sur NTFS en hda1.
  • tar de la partition : windows.tar.gz
  • mkfs.vfat d'une partition hda2 d'un autre disque
  • détar de de windows.tar.gz
  • démarrage du système par PXE avec memlinux + disquette de boot NT modifiée pour démarrer en hda2.
Personal tools
Namespaces

Variants
Actions
Public Portal
Users Portal
Admin portal
Wiki special pages
Toolbox