Dual Boot Arch et Windows

De ArchwikiFR


Ceci est un simple article détaillant différentes méthodes pour assurer la coexistence de Arch et Windows.

Horloges

Windows utilise l'horloge locale T.L. par défaut, et non le T.U. comme Linux (tout serveur a l'impératif de synchronisations depuis différents fuseaux horaires). Il modifiera donc l'heure machine à chaque utilisation

Configurer Windows

Pour qu'il gère l'horloge matérielle en UTC : ajouter au registre (commande : regedit) une valeur DWORD dans le registre :

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal
 nouvelle valeur DWORD (par clic-droit dans la zone)
 affectez-lui la valeur 1

De retour sur Archlinux

Règler la date :

 # timedatectl set-time 'yyyy-mm-dd hh:mm:ss'

Puis modifier la date du Bios (hardware) via la date système :

 # /sbin/hwclock --systohc

Activer, si ce n'était fait, timesyncd :

 # systemctl enable systemd-timesyncd.service
Note: Ne sortez pas de Windows par "Arrêter" (qui en général démarre une veille prolongée) mais par la commande "shutdown -s -t 1", et paramètrer Windows pour ne plus utiliser la veille "par défaut"

Pertes potentielles de données

Renommer des fichiers sur les partitions NTFS

Windows impose une limite sur la longueur des chemins de fichiers. Ils doivent être inférieurs à 260 characters.

De plus, Windows interdit l'usage de certains caractères dans les noms de fichiers pour des raisons qui remontent au DOS:

  • < (inférieur à)
  • > (supérieur à)
  •  : (deux points)
  • " (double quote)
  • / (slash)
  • \ (antislash)
  • | (pipe)
  •  ? (point d'interrogation)
  • * (asterisque)

Ce sont des limitations de Windows et non du système NTFS: tout autre OS utilisant les partitions NTFS n'auront pas ces limitations imposées. Windows n'arrivera pas à détecter ces fichiers et lancer chkdsk va très probablement les effacer.

Démarrage rapide

Le démarrage rapide est une fonction de Windows 8 qui lance une hibernation du système plutôt que de l'éteindre vraiment pour raccourcir le temps de chargement. Votre système peut perdre des données si Windows lance une hibernation, vous démarrez sur un autre OS et faites des changements sur les fichiers.

NTFS-3G ajoute une sécurité de données pour empêcher les montages en lecture/écriture des disques en hibernation, mais les drivers NTFS intégrés au kernel Linux n'assurent pas cette fonction.

Systèmes BIOS

Utiliser un bootloader Linux

Vous pouvez utiliser GRUB ou Syslinux.

Utiliser les boot loader de Windows

Une autre option est de faire l'inverse de ce qui est décrit ci dessus (où GRUB charge le bootloader Windows, qui lance à son tour Windows). Dans cette option, c'est le bootloader de Windows qui charge GRUB, ce dernier lançant Arch.

Utiliser le bootloader Windows 7/8

La section suivante contient des extraits de http://www.iceflatline.com/2009/09/how-to-dual-boot-windows-7-and-linux-using-bcdedit/.

Le reste de l'installation est similaire à une installation classique. Certains documents précisent que la partition chargée par le bootloader Windows doit être une partition primaire, mais l'installation sur une partition étendue ne semble pas poser de problèmes.

  • Au moment d'installer le bootloader GRUB, installez-le sur votre partition /boot plutôt que sur le MBR.
Note: Dans ce cas, ma partition /boot est /dev/sda5. Donc j'ai installé GRUB sur /dev/sda5 à la place de /dev/sda. Pour de l'aide sur ce point, consultez [1]
  • Sous Linux faites une copie des informations de boot en tapant ces commandes dans un terminal:
my_windows_part=/dev/sda3
my_boot_part=/dev/sda5
mkdir /media/win
mount $my_windows_part /media/win
dd if=$my_boot_part of=/media/win/linux.bin bs=512 count=1
  • Démarrez Windows et vous devriez pouvoir voir la partition FAT32. Copiez le fichier linux.bin sur C:\. Puis lancez cmd avec les privilèges d'administration (allez à Démarrer > Tous les programmes > Accessoires, clic-droit sur Invite de Commande et sélectionner Lancer en tant qu'administrateur):
bcdedit /create /d “Linux” /application BOOTSECTOR
  • BCDEdit va retourner un identifiant alphanumérique pour cette entrée que j'appelerai {ID} en référence dans les étapes suivantes. Vous allez devoir modifier l'identifiant existant par le nouvel identifiant {ID} retourné par la commande ci dessus. un exemple d'{ID} est {d7294d4e-9837-11de-99ac-f3f3a79e3e93}.
bcdedit /set {ID} device partition=c:
bcdedit /set {ID}  path \linux.bin
bcdedit /displayorder {ID} /addlast
bcdedit /timeout 30

Redémarrez et savourez. Dans mon cas j'utilise le boot loader Windows donc je peux mapper le second bouton power de mon Dell Precision M4500 pour démarrer Linux à la place de Windows.

Utiliser le bootloader Windows 2000/XP

Pour des informations sur cette méthode consultez http://www.geocities.com/epark/linux/grub-w2k-HOWTO.html. Je ne crois pas qu'il y ait des avantages supplémentaires à utiliser cette méthode plutôt qu'utiliser le bootloader Linux; vous aurez toujours besoin d'une partition /boot, et c'est beaucoup plus complexe à configurer.

Systèmes UEFI

Les deux bootloaders Gummiboot et rEFInd détectent automatiquement Windows Boot Manager \EFI\Microsoft\Boot\bootmgfw.efi et l'affichent dans leur menu de démarrage, il n'y a donc aucune configuration manuelle nécessaire.

Pour GRUB(2) consultez GRUB#With_Windows_Installed_in_UEFI-GPT_Mode.

Syslinux (dans sa version 6.01) et ELILO ne gèrent pas le démarrage en chaîne vers d'autres fichiers EFI, ils ne peuvent donc pas être utilisés pour démarrer en chaîne \EFI\Microsoft\Boot\bootmgfw.efi .

Voir aussi

Démarrer Windows depuis un raccourci sur le bureau