Chercher (un peu) de meilleures explications sur la prise en charge des disques durs> 2 To

9

Aujourd'hui, alors que je cherchais sur Google, je suis tombé sur des messages affirmant que Seagate prévoyait d'expédier un disque de 3 To plus tard en 2010. Malheureusement, les informations que j'ai consultées semblaient contenir des informations qui ne me convenaient pas. (Je lierais à quelques exemples, mais je ne suis autorisé qu'à 1 lien par article pour le moment).

Maintenant, je n'ai vraiment aucun "besoin" de mieux comprendre les détails fastidieux sous-jacents de cela. Je suis juste curieux. Et confus.

Alors ... quelques questions j'espère que quelqu'un sera mieux informé que je ne pourrais y répondre.

  1. Le discours sur un problème d'adressage potentiel dans le matériel et le logiciel m'a confondu. L'affirmation est que quelque chose appelé quelque chose appelé Long LBA addressing (LLBA)est nécessaire Command Descriptor Blockpour contourner les limites actuelles pour accéder à un disque dur supérieur à 2 To (1 To = 2⁴⁰ B).

    OK bien. Mais j'ai pensé que la dernière fois que ce problème est apparu, il a été résolu en étendant la longueur du champ LBA de 28 à 48 bits. (Rappelez-vous ce site Web? Www.48bitlba.com ) Un LBA de 6 octets est clairement assez grand, alors qu'est-ce qui se passe avec cette discussion LLBA. Je pensais que tout cela avait été corrigé par Win XP SP2, sinon plus tôt? Et certainement tout le matériel devrait être à la hauteur, n'est-ce pas?

  2. Le vrai problème tel que je le comprends avec des disques beaucoup plus grands que 2 To sont les champs LBA de 4 octets dans le Master Boot Record (MBR) utilisés pour partitionner à peu près tous les disques durs en ce moment. La solution la plus probable consiste à migrer vers la table de partition GUID (GPT) d'Intel. Un GPT utilise des champs de 8 octets pour le LBA.

    Ce que je ne comprends pas dans ce contexte, c'est quel est le problème avec le démarrage, disons Windows à partir d'un lecteur de 3 To qui utilise un GPT. Certes, le BIOS PC actuel ne saurait pas reconnaître ou travailler avec un GPT. Mais chaque GPT est livré avec un MBR dit "de sécurité" ou "de garde" dans le secteur 0.

    Apple utilise déjà une version hybride du MBR pour leur permettre de démarrer Windows sur leurs Mac Intel (aka Boot Camp). Ne pourrait-on pas faire quelque chose de similaire pour permettre au BIOS du PC de reconnaître et de démarrer à partir d'une partition dans, disons, les 2 premiers To d'un disque de 3 To ou plus?

J'ai d'autres questions telles que la place des secteurs 4K dans tout cela. Mais il est probablement temps que je me taise et poste ceci. ;-)

-John irrationnel

irrationnel John
la source

Réponses:

6

Les déclarations concernant le "Long LBA" semblent provenir de ce seul chef de produit Seagate. Ce qu'elle voulait probablement dire, c'est que même si LBA 48 bits est la norme sur le matériel, les systèmes d'exploitation et pilotes 32 bits peuvent ne pas prendre en charge tous les 48 bits, car (a) ils sont 32 bits et c'est plus compliqué, et (b) Le MBR ne prend en charge que les bits 32 bits de toute façon, alors pourquoi s'embêter.

Lorsque la barrière de 128 Go a été brisée en adoptant un LBA 48 bits, c'était à la fois du côté matériel, dans la spécification ATA, passant de 28 bits; et également du côté OS / pilote, pour vous assurer qu'ils n'ont pas codé en dur cette ancienne limite de 28 bits. Vous pouvez probablement dire que les pilotes bien écrits actuels sont en fait conformes à la limite réelle de 48 bits, mais il est facile de voir comment quelque part le long de la chaîne, quelqu'un a pris la solution de facilité et ne prend en charge que 32 bits dans ses pilotes 32 bits. Étant donné que les systèmes d'exploitation 32 bits sont de toute façon en train de disparaître, il ne vaut peut-être pas la peine d'essayer de s'assurer que tout cela fonctionne.

Comme vous l'avez dit, le vrai problème (pour Windows au moins) est le démarrage d'un disque GPT à partir d'un ordinateur BIOS (non EFI). Le MBR protecteur est conçu pour que le disque entier ressemble à une seule partition inconnue, de sorte qu'un ordinateur compatible BIOS / MBR n'y touche même pas. Vous pouvez créer un disque hybride, de sorte que le MBR contienne également d'autres entrées, pour les partitions sous la barrière de 2 To. Mais ces disques hybrides sont fragiles (faciles à encombrer avec les outils de partition MBR ou GPT) et ne sont plus officiellement des disques GPT. Vous ne démarrez pas non plus de partitions GPT, vous démarrez des partitions MBR. Cela peut être OK si vous souhaitez simplement utiliser la partition GPT comme lecteur de données.

Et pourquoi le BIOS ne peut-il pas démarrer GPT? La réponse courte est qu'ils ne l'ont pas fait, et pour ajouter cette capacité, vous auriez besoin d'un BIOS plus intelligent. Et c'est à cela que sert EFI.

Les secteurs de 4KB vous donneraient des disques de 16 To avec LBA 32 bits. (Et moins de secteurs importants signifie potentiellement moins de surcharge d'E / S.) Mais tous les systèmes d'exploitation et pilotes et même certaines applications devraient être écrits pour prendre en charge des secteurs de taille variable. Tout ce dont vous avez besoin est un endroit où la taille du secteur est codée en dur à 512 pour se casser. Par conséquent, les secteurs 4KB ne sont pas non plus une solution "facile" car cela demanderait beaucoup de travail à de nombreuses parties. Mais si vous envisagez d'écrire de futurs logiciels pour prendre en charge GPT (qui est indépendant de la taille du secteur) et des secteurs de taille variable, il pourrait être adopté comme pratique courante à un moment donné.

Ken
la source
3

Vous pouvez certainement démarrer à partir d'un disque GPT sur une machine BIOS. Juste que Windows prétend qu'il ne peut pas.

Même cela n'est pas vraiment vrai; vous pouvez démarrer Windows à partir d'un ordinateur BIOS sur un disque GPT: il vous suffit d'un petit disque MBR supplémentaire pour contenir les fichiers de démarrage. Un disque dur utilisé pour un autre système d'exploitation avec une (petite) partition de rechange, une disquette, un lecteur USB (supposé) ...

Démarrez dans le disque d'installation / réparation de Windows. Créez le lecteur système sur la clé et utilisez-le bcdbootpour placer vos fichiers de démarrage sur la clé. Ajoutez un secteur de démarrage avec bootsect. Changez {bootmgr} devicepour boot. Démarrez à partir du bâton.

Les étapes sont détaillées ici .

Milind R
la source
0

Ce que je ne comprends pas dans ce contexte, c'est quel est le problème avec le démarrage, disons Windows à partir d'un lecteur de 3 To qui utilise un GPT.

Sur un système BIOS traditionnel, le BIOS charge le secteur d'amorçage à partir du disque et l'exécute en mode réel 16 bits. Le code chargé à partir du secteur de démarrage doit ensuite rechercher et charger le système d'exploitation approprié.

MS n'a jamais implémenté le support GPT dans leur chargeur en mode réel. Il ne peut donc pas lire la table de partition GPT et démarrer le reste du système d'exploitation. Donc, pour démarrer Windows à partir d'un disque GPT, vous devez soit utiliser uEFI au lieu du BIOS traditionnel (ce qui est bien si votre carte mère le prend en charge et que votre version Windows est suffisamment nouvelle) ou utiliser une forme de solution de contournement telle qu'un chargeur tiers, un type de partition hybride ou un disque séparé pour le démarrage.

plugwash
la source