Le système est un Dell avec un quadri-processeur Intel Q9650 Core 2 64 GHz à 3 GHz.
Il exécute Windows 7 Professionnel (x64) SP1 et affiche les 4 cœurs dans l'onglet Performances du gestionnaire de tâches. La plupart des programmes Windows installés sont des versions 64 bits.
buntu 18.04 LTS refuse d’installer, affirmant qu’il s’agit d’un processeur "i386".
Cela n'autorisera même pas l'option "Essayer Ubuntu"
Ce système prend en charge plusieurs disques 5 TB en tant que NAS. En outre, 16 Go de RAM.
Le matériel 64 bits a été introduit par Intel afin de prendre en charge une plus grande quantité des deux.
Cela n’a jamais été fait pour empêcher les utilisateurs de s’arrêter, car les systèmes d’exploitation exigeaient des architectures de CPU plus spécialisées, telles que "AMD64" d’AMD.
Qui conduit ce bus? (pardonnez la blague)
Pourquoi tous les processeurs 64 bits ne sont-ils pas pris en charge par ce système d'exploitation 64 bits?
Cela n'a pas de sens.
Votre processeur Intel Q9650 Core 2 Quad 64 bits est non pris en charge par Windows 10 soit . Il a été publié en 2008 et jugé trop ancien pour les systèmes d'exploitation modernes.
En regardant vos spécifications sur site Web d'Intel J'ai remarqué qu'il n'y a pas d'hyper-threading. De plus, il n’a pas de Turbo-Boost, ce qui est probablement moins inquiétant.
Plus important encore, le jeu d'instructions 64 bits a évolué au fil du temps. Linux teste chaque processeur au démarrage pour voir si certaines instructions sont prises en charge. Je ne trouve pas la référence que je cherchais mais ce n décrit les vérifications du noyau:
Une fois la pile configurée, l'étape suivante est la vérification du processeur. Comme nous allons exécuter la transition vers le mode long, nous devons vérifier que la CPU prend en charge le mode long et SSE. Nous allons le faire en appelant la fonction verify_cpu
:
call verify_cpu
testl %eax, %eax
jnz no_longmode
Cette fonction définie dans le fichier Assembly Arch/x86/kernel/verify_cpu.S
contient uniquement quelques appels à l'instruction cpuid. Cette instruction est utilisée pour obtenir des informations sur le processeur. Dans notre cas, il vérifie le mode long et SSE et prend en charge renvoie 0
en cas de succès ou 1
en cas d'échec dans le registre eax
.
Si la valeur de eax
n'est pas zéro, nous passons à l'étiquette no_longmode
qui arrête simplement le processeur par l'appel de l'instruction hlt
alors qu'aucune interruption matérielle ne se produira:
no_longmode:
1:
hlt
jmp 1b
Si la valeur du registre eax
est égale à zéro, tout va bien et nous pouvons continuer.
Pour résumer, il y a beaucoup de choses que votre processeur âgé de 10 ans ne prend pas en charge par rapport aux processeurs 64 bits modernes.