web-dev-qa-db-fra.com

Pourquoi le stockage USB amovible n'apparaît-il pas dans Launcher ou Files comme une clé USB normale?

Utilisation de 17.04 en mode "Essayer avant l'installation"

Un USB `` normal '', tel que formaté avec une table de partition MBR, par Windows apparaît avec une icône de clé USB dans Launcher, et est éjectable à partir d'une barre latérale Fichiers.

Mais le formatage du même périphérique avec une table de partition GPT affiche une icône "disque", comme le font les disques internes, et n'est pas éjectable à partir de fichiers. Il n'apparaît même jamais dans la barre latérale et vous ne pouvez pas l'éjecter "d'autres endroits". Une boîte de dialogue modale d'erreur apparaît avec "Impossible de démonter le volume" "Opération non autorisée".

Mais Sudo umount fonctionne très bien.

Je suppose que Ubuntu le traite comme un lecteur de disque interne.

Dans les deux cas, les disques, même lorsqu'ils sont montés via des entrées dans /etc/fstab au lieu de udisks2, et les entrées sont les mêmes sauf pour le nom du périphérique

Alors, pourquoi le bâton au format GPT est-il géré de cette façon? J'aimerais qu'il apparaisse dans la barre latérale des fichiers comme le stick formaté MBR.

Formaté via

parted -s --align optimal /dev/sdc \
 mktable gpt \
 mkpart primary fat32 0% 100% \

mkfs.vfat -F32 /dev/sdc1

# mount and copy files to disk here

parted -s /dev/sdc set 1 boot on

L'objectif est de pouvoir monter des disques, y compris des disques amorçables GPT et MBR fabriqués par Rufus (sous Windows) Le GPT qui a inspiré la question était censé être un clone de la méthode Rufus, uniquement fabriqué sous Linux.

[ajoutée]

En regardant un véritable USB Rufus, je trouve une icône différente de celle de l'autre. Cette fois, son icône est une boîte (au lieu d'un bâton) imprimée d'un symbole d'arbre USB. Cela apparaît dans la barre latérale. C'est éjectable.

En regardant la partition GPT de Rufus, les deux différences importantes semblent être un nom de "Microsoft Basic Data" et un indicateur msftdata sur la partition. c'est donc là que je vais essayer de regarder ensuite

1
infixed

Certaines informations générales peuvent être utiles. Sur les disques GPT, les "indicateurs" des outils basés sur libparted, y compris GParted et parted, sont un mélange de deux choses: les attributs GPT, dont un nombre illimité peut être appliqué simultanément à n'importe quelle partition; et les codes de type GPT (qui sont en 16 octets GUID valeurs en interne), dont chaque partition en a précisément un. Cela peut créer beaucoup de confusion, car une partition peut avoir plusieurs indicateurs, mais parfois l'application d'un indicateur en supprime automatiquement un autre, car ces deux indicateurs sont en fait des codes de type. De plus, libparted n'affiche pas explicitement certains codes de type; ceux-ci sont simplement considérés comme implicites pour le type de système de fichiers (c'est le cas du code de type Linux Filesystem, par exemple.) De plus, le code de type permettant d'identifier la partition système EFI (ESP) est associé à des indicateurs - deux dans les versions récentes de libparted: boot et esp. Auparavant, c'était juste boot, mais cela avait une signification entièrement différente sur les disques MBR. (Je soupçonne que l'intention est de déprécier l'indicateur boot sur les disques GPT pour minimiser la confusion sur ce point à long terme, mais je ne suis pas certain de cela.)

Ainsi, certains de ce que vous voyez est lié aux codes de type. Trois d'entre eux semblent pertinents pour votre question:

  • Système de fichiers Linux - Ce code de type (0FC63DAF-8483-4772-8E79-3D69D8477DE4) identifie les systèmes de fichiers Linux (ext2/3/4fs, Btrfs, etc. ). Il n'est pas explicitement marqué dans libparted, mais dans gdisk il a un code de type 8300.
  • Microsoft Basic Data - Ce code de type (EBD0A0A2-B9E5-4433-87C0-68B6B72699C7) identifie les partitions de données FAT, exFAT ou NTFS, y compris le démarrage de Windows partitions. Dans le passé, Linux "se greffait" sur ce type de code, ce qui créait des problèmes. Il est identifié dans libparted par le drapeau "msftdata", ou dans gdisk par un code de type 0700.
  • Partition système EFI (ESP) - Ce code de type (C12A7328-F81F-11D2-BA4B-00A0C93EC93B) identifie une partition utilisée par les ordinateurs EFI pour démarrer. Il doit contenir un système de fichiers FAT32. Comme indiqué ci-dessus, il est identifié dans libparted par les indicateurs "boot" et (dans les versions plus récentes) "esp", et dans gdisk par le code de type EF00.

Notez que les outils basés sur libparted sont terribles si vous avez vraiment besoin de savoir ce qu'est le code de type d'une partition, car seule une poignée de codes de type sont signalés. Si vous voulez connaître le code de type, utilisez plutôt gdisk. Même son affichage récapitulatif est un peu limité; s'il ne reconnaît pas un code de type GUID, il l'affiche sous la forme FFFF. Vous pouvez trouver la valeur complète GUID en utilisant la variable i option dans le menu principal, qui affiche des informations complètes sur la partition. (gdisk utilise un code de type abrégé à 2 octets plutôt que le code complet à 16 octets GUID dans son interface utilisateur pour La plupart des codes de type gdisk correspondent à leurs équivalents MBR, mais multipliés par 0x100. Par exemple, sur MBR, les partitions du système de fichiers Linux sont 0x83, donc 8300 dans gdisk.)

Je viens de faire quelques expériences, et pour moi, le programme Unity Files gère de manière identique les partitions Linux Filesystem et Microsoft Basic Data - du moins, pour autant que j'ai testé. Dans les deux cas, l'insertion d'un disque entraîne son apparition dans le menu, son montage automatique et son éjection. Les ESP, cependant, n'apparaissaient pas dans le menu Fichiers et n'étaient pas montés automatiquement. C'est au moins quelque peu raisonnable, car certains environnements peuvent créer des ESP vides (et largement inutiles) sur les disques durs et les supports amovibles. (L'utilitaire de disque d'OS X crée un ESP chaque fois que vous créez un GPT, par exemple.)

Notez que la plupart des EFI démarrent à partir de n'importe quelle partition FAT, même si elle n'est pas marquée comme ESP. Ce n'est cependant pas un comportement garanti; il est concevable que certains ESP soient plus pointilleux à ce sujet. En fait, je suis presque sûr que c'était le cas de l'ancien Gigabyte Hybrid EFI, qui était horrible à bien des égards. (Je me suis depuis longtemps débarrassé du seul exemple de ce firmware que j'avais, donc je ne peux pas revérifier ce détail.)

Des outils comme Rufus, qui sont conçus pour créer un disque de démarrage, peuvent le faire en créant un ESP - mais je n'ai pas vérifié pour voir ce que fait réellement Rufus, donc je ne sais pas si Rufus le fait, ou s'il peut faire des choses différentes selon les paramètres du programme.

L'article Wikipedia sur GPT peut développer cela. Les sections impliquant les GUID sont à

4
Rod Smith

Le problème s'est produit lors de la tentative de définition de la partition amorçable.

Sur une partition GPT, l'indicateur boot est synonyme d'indicateur esp

Un indicateur esp est mutuellement exclusif avec l'indicateur msftdata.

C'est l'indicateur msftdata qui fait apparaître les lecteurs dans la barre latérale de la fenêtre files et les éjecter

Vous ne pouvez donc pas définir le démarrage sur une partition de disque GPT et l'avoir dans la barre latérale.

Mais il s'avère que vous ne semblez pas avoir besoin de esp pour démarrer sur une machine UEFI de toute façon. Donc, ne définissez pas le démarrage.

0
infixed