N. D. M. : nlgranger nous explique dans le journal qui est repris pour cette dépêche comment virtualiser un système pré-installé. Son expérience personnelle est relatée ici à la première personne (je). Rappelons aussi à tout hasard que si la licence de ce système d’exploitation propriétaire permet apparemment une utilisation dans le cadre d’une telle virtualisation, celle-ci doit être faite sur une seule instance et sans utilisation comme serveur (ce que rappelle aussi le tutoriel mentionné plus loin, mais sur une version précédente du système). Et qu’il n’est possible de faire qu’une « seule copie du logiciel à des fins de sauvegarde ».
Je viens d’acheter un PC et bien que j’aie fouillé et patienté longtemps, aucune offre sans OS n’arrivait ou ne convenait donc j’ai cédé à la vente forcée d’un PC avec Windows.
Dans ce petit tutoriel, je vous explique comment déplacer cette licence Windows OEM vers une machine virtuelle (VM) sur le même PC. Si vous avez déjà une licence achetée à part, il vous suffit de la spécifier à l’installation, on s’intéresse ici au cas des licences OEM préinstallées sur la carte mère.
L’intérêt de déplacer Windows dans une VM, c’est de ne pas bloquer une partie de l’espace disque avec une partition qui ne servira quasiment jamais. Là on peut déplacer l’image disque vers un stockage externe (disque ou clé USB) ou recréer la VM au besoin.
Dans ce tutoriel j’utilise libvirt via le GUI virt-manager, mais je me suis largement appuyé sur cet excellent tutoriel pour Proxmox d’Oliver Poncet que je vous invite à consulter.
Je précise immédiatement qu’il n’est pas nécessaire d’avoir gardé le Windows préinstallé sur la machine, ni même de l’avoir démarré une seule fois.
Dépendances
Pour parvenir à vos fins, il vous faudra les dépendances suivantes (en espérant ne rien oublier) :
- dmidecode pour lire les infos de la carte mère
- libvirt
- qemu/KVM
- swtpm pour émuler un TPM
- edk2-ovmf pour émuler un UEFI avec Secure Boot
- Le fichier.iso de Windows 11 disponible sur le site de microsoft.
Sous ArchLinux : pacman – S dmidecode libvirt dnsmasq qemu-desktop swtpm
J’ai utilisé virt-manager pour me faciliter la vie, j’imagine qu’on peut s’en sortir en ligne de commande directement avec qemu.
Installation
Récupérer les informations utiles
Pour valider automatiquement votre licence, Windows utilise des informations disponibles depuis la carte mère.
D’abord, le numéro de série, modèle, etc. :
$ sudo dmidecode
…
BIOS Information
Vendor : LENOVO
Version : NCCN16WW
Release Date : 02/02/2024
…
BIOS Revision : 1.16
Firmware Revision : 1.16
…
System Information
Manufacturer : LENOVO
Product Name : 83E3
Version : Yoga Pro 7 14AHP9
Serial Number : 9F5OEMTZ
UUID : a0a73af8-a886-4fbf-8f0d-5fd32c264a16
SKU Number : LENOVO_MT_83E3_BU_idea_FM_Yoga Pro 7 14AHP9
Family : Yoga Pro 7 14AHP9
(j’ai édité le serial et l’uuid)
Ensuite des informations enregistrées dans des tables ACPI :
sudo cat /sys/firmware/acpi/tables/MSDM > ~/VMs/MSDM.bin
sudo cat /sys/firmware/acpi/tables/SLIC > ~/VMs/SLIC.bin
Créer la VM
La procédure démarre comme d’habitude, on suit l’assistant de virt-manager jusqu’au moment où il faut bien demander à modifier la configuration avant de démarrer.
Dans les options du BIOS, choisissez la config avec Secure Boot activé, chez moi le fichier se nomme OVMF_CODE.secboot.4 m.fd
.
Ensuite il faut éditer directement le code XML qui décrit la configuration de la machine. Si c’est la première fois dans virt-manager, il faut cocher une case dans les paramètres de l’appli pour le rendre éditable.
Pour commencer, modifiez le nœud racine XML pour spécifier le schéma, sinon certaines options seront rejetées :
<domain type=“kvm” xmlns: qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
Mettez aussi à jour l’uuid pour qu’il corresponde à celui indiqué par dmidecode:
<uuid>a0a73af8-a886-4fbf-8f0d-5fd32c264a16</uuid>
Ensuite, il faut indiquer à qemu d’intégrer les tables ACPI :
<qemu: commandline>
<qemu: arg value='-acpitable'/>
<qemu: arg value='file=/home/ngranger/VMs/MSDM.bin'/>
<qemu: arg value='-acpitable'/>
<qemu: arg value='file=/home/ngranger/VMs/SLIC.bin'/>
</qemu: commandline>
Puis il faut ajouter les informations de la carte mère :
<sysinfo type=“smbios”>
<bios>
<entry name=“vendor”>LENOVO</entry>
<entry name=“version”>NCCN16WW</entry>
<entry name=“date”>02/02/2024</entry>
<entry name=“release”>1.16</entry>
</bios>
<system>
<entry name=“manufacturer”>LENOVO</entry>
<entry name=“product”>83E3</entry>
<entry name=“version”>Yoga Pro 7 14AHP9</entry>
<entry name=“uuid”>a0a73af8-a886-4fbf-8f0d-5fd32c264a16</entry>
<entry name=“serial”>9F5OEMTZ</entry>
<entry name=“family”>Yoga Pro 7 14AHP9</entry>
<entry name=“sku”>LENOVO_MT_83E3_BU_idea_FM_Yoga Pro 7 14AHP9</entry>
</system>
</sysinfo>
Installation de Windows
La procédure est désormais habituelle.
Pour éviter d’avoir à utiliser un compte Microsoft, vous pouvez couper Internet au moment où Windows redémarre pour la configuration du système. Lorsque l’assistant en arrive à la connexion au réseau, tapez Maj-F10 pour ouvrir le terminal et exécutez la commande oobe\BypassNRO
. Le PC redémarrera sur un assistant qui rend la connexion facultative.
Au démarrage, vous pourrez remettre Internet et vérifier que la licence est bien activée.
Aller plus loin
- Journal à l’origine de la dépêche (67 clics)
- Le tutoriel d'Oliver Poncet (79 clics)
- La documentation du fichier de config XML des VMs libvirt (34 clics)
- Complément pour les argument Qemu (27 clics)
- Un commentaire sur les restrictions de licence pour les VMs (a priori c'est OK) (27 clics)
- La documentation de Microsoft sur les tables ACPI servant à la validation de la licence (36 clics)
# Merci
Posté par gileri . Évalué à 2.
Merci pour ce tuto !
# Performance
Posté par collinm (site web personnel) . Évalué à 1.
niveau performance cela donne quoi face a virtualbox, vmware…?
www.solutions-norenda.com
[^] # Re: Performance
Posté par nlgranger . Évalué à 5.
Libvirt s'appuie sur Qemu/KVM qui me semble très actif en développement et c'est largement utilisé en prod (via Proxmox notamment), donc ça doit être plutôt performant.
Pour ce qui est d'aller chercher la performance ultime, je vais laisser les experts commenter sur ce sujet, j'utilise seulement les VMs en dépannage.
# A quoi servent les licences Windows ?
Posté par Stephane21 . Évalué à 2. Dernière modification le 03 juin 2024 à 15:41.
J'ai moi aussi une installation de Windows 11 dans une machine virtuelle qui ne sert quasiment jamais. Par contre, j'avais essayé de transférer ma licence sans succès (j'avais récupéré ma clef de licence à l'aide d'un petit logiciel exécuté dans le Windows initial).
J'ai télécharger le fichier ISO officiel sur le site web de Microsoft et je n'ai pas renseigné de licence lors de la procédure d'installation dans la machine virtuelle. Dans "Settings" il y a bien un message "Windows is not activated" et j'ai aussi remarqué que certaines fonctionnalités inutiles de Windows sont bloquées.
D’où ma question (sincère) : A quoi cela sert il d'acheter (ou transférer) une licence Windows ? A part pour débloquer la possibilité de faire du "tunning" de l'interface. La version gratuite me semble suffisante.
[^] # Re: A quoi servent les licences Windows ?
Posté par Seb . Évalué à 3.
Il n'existe pas de version gratuite.
Par contre il existe une/des versions OEM, c'est à dire vendue au constructeur pour une machine donnée, et incluse dans le prix de la machine (tu peux d'ailleurs dans certains cas te faire rembourser le prix de l'OS si tu ne veux pas l'utiliser).
dans ce cas la licence n'est à ma connaissance pas transmissible et est lié au hardware.
Acheter une licence windows seule permet d'avoir plus de "liberté" dans son utilisation.
[^] # Re: A quoi servent les licences Windows ?
Posté par Stephane21 . Évalué à 3.
Oui j'appelle cela une version "gratuite", le terme exact est il me semble "shareware avec période d'essai gratuite éternelle".
Dans les années 2000, le logiciel WinRAR avait la même approche commerciale, proposer une période d'essai gratuite affichée à 30 jours mais en pratique illimitée dans le temps.
Autre point commun entre WinRAR et Windows 11, c'est que la version payante des 2 logiciels ne propose que des avantages négligeables par rapport à la version "gratuite". La stratégie étant probablement plutôt de gagner/garder des parts de marché.
[^] # Re: A quoi servent les licences Windows ?
Posté par Lenbootil . Évalué à 3.
Non, c'est une licence "OEM". Elle est bien payante (environ 50 €, inclus dans l'achat de l'ordinateur) et limitée (en l'occurrence, elle est liée au PC acheté). Rien à voir, vraiment pas, avec un shareware.
Ce qui veut dire, que 1/ si le contrat de licence est rompu (installation sur une autre machine que celle prévue), Microsoft peut révoquer la licence à tout moment, et est dans son bon droit pour ce faire, et 2/ la licence est remboursable, si elle n'a jamais été activée. Selon les constructeurs, c'est plus ou moins facile, voire quasi-impossible, mais, comme c'est de la vente liée, il est tout-à-fait possible de porter plainte contre les constructeurs récalcitrants si on est motivé pour aller jusqu'au tribunal.
Pour une VM de test, il existe des licences temporaires et gratuites.
[^] # Re: A quoi servent les licences Windows ?
Posté par oinkoink_daotter . Évalué à 2.
Ca fait bien longtemps que le sujet est arbitré (2016). Si le contructeur te dit fume, le tribunal te dira probablement fume.
[^] # Re: A quoi servent les licences Windows ?
Posté par Faya . Évalué à 3.
Pas sûr (2020). Et en 2017 on trouve aussi des témoignages ici même. La conclusion que j'avais retenue à l'époque c'est "ça dépend du constructeur".
[^] # Re: A quoi servent les licences Windows ?
Posté par oinkoink_daotter . Évalué à 2.
Le truc italien n'est backé par aucune source, donc ce n'est pas évident de savoir ce qu'il s'est passé en fait (et ce ne serait la première fois qu'un tribunal de premier niveau fait des trucs discutables).
Par contre, on trouve bien dans l'article de l'april le glissement de "vente liée" à "vente forcée" qui si je me rappelle bien a fait suite à cette décision de l'UE.
Pour 2017, par contre, bah oui, il y a des politiques des constructeurs.
[^] # Re: A quoi servent les licences Windows ?
Posté par Lutin . Évalué à 2.
Pour winrar c'est exactement ça, winrar est un produit d'appel, le développeur (Eugene Roshal) gagne de l'argent avec le brevet sur le format rar.
[^] # Re: A quoi servent les licences Windows ?
Posté par nlgranger . Évalué à 2.
J'ai aussi essayé ça il y a longtemps mais j'ai l'impression que la valeur renvoyée dans le cas d'une licence OEM est invalide. Ce sont les infos de la carte mère qui comptent dans ce cas de figure.
Concernant l'utilisation sans licence, Microsoft est très généreux sur la période d'essai mais elle n'est pas infinie, au bout d'un moment ça bloque vraiment tout.
[^] # Re: A quoi servent les licences Windows ?
Posté par lym . Évalué à 3.
Ce n'est pas vraiment la carte mère, au sens matériel, qui contient la licence. Elle est programmée dans le BIOS, sans doute la raison de la récupération des 2 tables ACPI du tuto.
D'ailleurs, quand on va dans le BIOS d'une machine avec un windows OEM, la présence d'une licence est indiquée: C'est le pendant moderne de l'étiquette windows sur les PC préinstallés que l'on voyait autrefois (jusqu'à win7 je dirais). Celle là, d'ailleurs, permet encore d'installer au moins des win10 actuels si personne n'a pas encore pris en photo l'étiquette d'une machine d'entreprise n'ayant jamais activé la version OEM et activé la licence, ayant utilisée l'image fournit par l'IT de la boite avec sa licence parc. Installer un barebone Shuttle avec la licence OEM d'un HP ne m'a jamais posé de problème, au passage. Et au vu de ce qui suit, la version ACPI resterait aussi laxiste!
Car, comme dit par ailleurs, cette licence est normalement attachée à un matériel… donc sur du matos virtuel, même tournant sur le matos réel permis par la licence, je ne sais pas si la situation est si claire?
Petite astuce pour les PC gamme pros achetés en refurb (les laptops grand public modernes ne permettant plus aucune évolution, même simplement changer une batterie, je n'en achète plus) à vil prix: Ils étaient (sont?) généralement vendus installés avec une licence windows home refurb, parfois remis en mode BIOS Legacy et pas UEFI (sans doute pour permettre la manip).
On les remets en mode UEFI, lance un installeur windows claqué avec leur outil avant de faire sepuku à l'install présente à l'achat… et il va trouver la licence pro OEM présente dans le bios et installer un win pro à la place d'une home. Pas forcément super utile en usage perso, mais il y avait alors au moins sous win10 la possibilité de décaler d'1 an l'update des versions majeures afin que ce soit les licences home qui essuient les plâtres (et il y en a eu!).
[^] # Re: A quoi servent les licences Windows ?
Posté par ocroquette . Évalué à 6.
De ton point de vue, c’est une installation de Windows gratuite, mais du point de vue de Microsoft et de la license, c’est une installation en attente d’activation en supposant que tu as une license. Cf. point 5 de la license. C’est la license de Windows 10 en anglais, la première que j’ai trouvée.
En fait, il faut différencier les aspects techniques (clé, activation) et le droit d’utilisation. Tu peux avoir les deux (Windows préinstallé), le droit d’utilisation sans activation (période de grâce accordée par Microsoft, utile par exemple si il n’y a pas de connection Internet pendant l’installation), ou aussi activation sans les droits, par exemple si tu achètes une clé d’activation d’un revendeur peu scrupuleux qui vend 5 fois la même clé destinée à un seul système. Comme Microsoft est assez "laxiste", surtout envers les particuliers, ça ne pose pas de problème en pratique, même cela ne respecte pas la conditions d’utilisation.
# Et s'il manque des fichiers ?
Posté par xylphute . Évalué à 2. Dernière modification le 07 juin 2024 à 10:39.
Bonjour,
J'ai une licence pour mon PC.
Celui-ci tourne sous linux exclusivement depuis bien longtemps, mais récupérer sa licence est toujours sympa.
Et à ce point:
Je remarque que les fichiers MSDM et SLIC n'existent pas. Comment fait-on dans ce cas?
# ls /sys/firmware/acpi/tables/
APIC data DSDT dynamic FACP FACS HPET MCFG OEMB SRAT
[^] # Re: Et s'il manque des fichiers ?
Posté par nlgranger . Évalué à 1.
Aucune idée, c'est bien une licence OEM ? Si il prédate windows 10 le système d'activation est sans doute différent.
[^] # Re: Et s'il manque des fichiers ?
Posté par xylphute . Évalué à 1.
Non pas OEM, j'ai obtenu la licence à la sortie de Win10, microsoft l'offrait aux insider.
J'ai bien une clé mais je ne sais pas si je peux l'utiliser comme bon me semble ou si je suis limité.
C'est pour ça que je trouvais l'article fort interressant.
# Acheter un nouveau PC sans OS ou avec Linux directement
Posté par Sébastien Wilmet . Évalué à 3.
Dommage, il existe pourtant de plus en plus d'offres d'ordinateurs vendus neufs sans OS pré-installé, ou avec Linux.
Il y a notamment :
- system76
- Slimbook Fedora
- Et bien d'autres, je n'ai pas tous les liens sous la main.
Je pense qu'il y a moyen d'acheter des Lenovo (ThinkPad par exemple) avec Linux pré-installé en allant sur le site du constructeur.
Pour ma part c'est un system76 que j'ai choisi dernièrement.
[^] # Re: Acheter un nouveau PC sans OS ou avec Linux directement
Posté par Christophe "CHiPs" PETIT (site web personnel) . Évalué à 2.
Y'a les framework laptops aussi quand on a le budget => https://frame.work/fr/fr.
# coquille
Posté par Benoit Mauduit (site web personnel) . Évalué à 0.
Super tutoriel! Merci beaucoup.
Juste une petite coquille dans la commande pacman proposé :
pacman – S dmidecode libvirt dnsmasq qemu-desktop swtmp
C'est
swtpm
et nonswtmp
![^] # Re: coquille
Posté par Benoît Sibaud (site web personnel) . Évalué à 3.
Corrigé, merci.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.