J'ai un système à double démarrage (Windows 10 et Ubuntu, le démarrage rapide de Windows est désactivé), et j'ai donc plusieurs partitions sur mon disque dur. Au démarrage, la clé USB s'affiche bien sur Ubuntu, et fonctionne de toutes les manières que l'on peut attendre d'elle.
Cependant, lorsque je monte la partition de données Microsoft de mon disque dur (du moins, je suis presque sûr que c'est la cause), il n'est plus possible de formater la clé USB ou de l'imager de quelque manière que ce soit.
J'ai essayé dd
en fait, c'est là que j'ai besoin qu'il fonctionne car en utilisant dd
est beaucoup plus facile que d'utiliser le créateur de disque de démarrage Ubuntu (je conçois un système d'exploitation au cas où quelqu'un voudrait le savoir, et c'est DÉJÀ DUR SANS PROBLÈMES d'USB !!!). Je ne peux pas le monter car il manque un système de fichiers depuis la dernière imagerie. Cependant, si je le formate avant d'accéder à Microsoft (ou à l'erreur qui se produit que vous verrez dans un moment), il fonctionne bien comme un disque USB ordinaire. Je ne peux simplement pas le reformater.
Voici une capture d'écran de l'erreur :
N'hésitez pas à me demander si vous avez des questions ou si vous souhaitez voir plus de détails.
Commandes :
root@my_comp:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 6100104 0 6100104 0% /dev
tmpfs 1224076 9820 1214256 1% /run
/dev/sda5 382559396 9121780 353981616 3% /
tmpfs 6120368 51716 6068652 1% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 6120368 0 6120368 0% /sys/fs/cgroup
/dev/sda1 262144 30636 231508 12% /boot/efi
tmpfs 1224076 48 1224028 1% /run/user/1000
/dev/sr0 4442656 4442656 0 100% /media/devepere/BOPC_1E1
Cela est logique puisqu'il n'y a pas de système de fichiers sur le disque : il a été complètement écrasé et je n'ai pas encore implémenté de table FAT dans mon bootloader.
root@my_comp:/# parted -ls
Model: ATA HGST HTS721010A9 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name
Flags
1 1049kB 274MB 273MB fat32 EFI system partition
boot, esp
2 274MB 290MB 16.8MB Microsoft reserved
partition msftres
3 290MB 589GB 588GB ntfs Basic data partition
msftdata
5 589GB 987GB 398GB ext4
6 987GB 1000GB 12.8GB linux-swap(v1)
4 1000GB 1000GB 523MB ntfs Basic data partition
hidden, diag
Model: Generic Flash Disk (scsi)
Disk /dev/sdb: 1028MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1028MB 1027MB primary
Warning: Unable to open /dev/sr0 read-write (Read-only file system).
/dev/sr0 has been opened read-only.
Error: /dev/sr0: unrecognised disk label
Model: TSSTcorp CDDVDW SU-228GB (scsi)
Disk /dev/sr0: 4549MB
Sector size (logical/physical): 2048B/2048B
Partition Table: unknown
Disk Flags:
J'ai aussi oublié de mentionner que j'ai un disque de jeu dans mon ordinateur, c'est sr0. Et il ne devrait pas lire 'msdos', puisqu'il n'y a pas de véritable partition dessus.
root@my_comp:/# lsblk -f
NAME FSTYPE LABEL UUID
MOUNTPOINT
sda
sda1 vfat SYSTEM 92EA-85A0 /boot/efi
sda2
sda3 ntfs OS 128AECEA8AECCAF5
sda4 ntfs RECOVERY 18565C8D565C6D8E
sda5 ext4 d59773a2-e22e-4e57-945e-6d447600da16 /
sda6 swap 1ac79668-effe-46bc-9f71-6686c3ad8fcf [SWAP]
sr0 iso9660 BOPC_1E 2006-10-12-03-54-00-00
/media/devepere/BOP
Encore une fois, il n'y a pas de système de fichiers, donc cela a un certain sens.
root@my_comp:/# lsblk -m
NAME SIZE OWNER GROUP MODE
sda 931.5G YANN-MARTEL disk brw-rw----
sda1 260M YANN-MARTEL disk brw-rw----
sda2 16M YANN-MARTEL disk brw-rw----
sda3 548G YANN-MARTEL disk brw-rw----
sda4 499M YANN-MARTEL disk brw-rw----
sda5 370.8G YANN-MARTEL disk brw-rw----
sda6 12G YANN-MARTEL disk brw-rw----
sr0 4.2G YANN-MARTEL cdrom brw-rw----
Juste pour clarifier, je suis complètement J'écrase le disque régulièrement parce que c'est comme ça que je teste mon système d'exploitation. Il n'y a pas de table de partition. Mon problème est que je ne peux plus écrire sur le disque après avoir reçu cette erreur : c'est comme si le système d'exploitation perdait toute capacité à écrire sur le lecteur USB ou à le formater de quelque manière que ce soit.
Et d'ailleurs, cela se produit pour chaque disque USB que j'ai imagé, donc le problème est bien local à ubuntu.
Autres modifications...
1 :
J'ai utilisé l'application 'disk' qui est fournie en natif avec Linux pour tester le formatage de l'USB. L'erreur apparaît généralement lorsque (ou avant) je fais cela, bien qu'elle soit connue pour apparaître parfois peu de temps après le démarrage, et systématiquement lorsque j'ouvre la partition Microsoft sur mon disque, dans ce cas j'utilise nautilus, donc une application gnome qui échoue.
Tout ce que je sais, c'est qu'après avoir obtenu l'erreur, l'USB ne répond pas aux tentatives d'écriture. dd s'exécute et se termine, mais il prend beaucoup moins de temps à s'exécuter et n'écrit pas réellement sur le disque.
2 :
Mon image contient le secteur MBR avec la fin habituelle de 0xAA55
mais NE CONTIENT PAS DE SYSTÈME DE FICHIERS (OU DE TABLE DE PARTITION) D'AUCUNE SORTE . Je crée un COMPLETEMENT NOUVEAU OPERATING SYSTEM (ET bootloader), et je n'ai pas encore implémenté de table de partition parce que je devrais l'ÉCRIRE MOI-MÊME.
3 :
Pour mémoire, lsblk
sans drapeaux montre effectivement l'USB comme un bloc avant et après l'erreur :
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
[...]
sdb 8:16 1 980M 0 disk
[...]
Et oui, la taille est correcte ; il s'agit d'une clé USB assez ancienne. Je branche mes 32 gigas et j'obtiens quelque chose qui ressemble à 32 gigas.
Et voici lsblk -f
AVANT que l'erreur affichée ne se déclenche pour une raison quelconque :
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
sda1 vfat SYSTEM 92EA-85A0 /boot/efi
sda2
sda3 ntfs OS 128AECEA8AECCAF5
sda4 ntfs RECOVERY 18565C8D565C6D8E
sda5 ext4 d59773a2-e22e-4e57-945e-6d447600da16 /
sda6 swap 1ac79668-effe-46bc-9f71-6686c3ad8fcf [SWAP]
sdb
sr0 iso9660 BOPC_1E 2006-10-12-03-54-00-00
/media/devepere/BOP
Vous pouvez clairement voir que le disque (sdb) est reconnu, et qu'aucun système de fichiers ne lui est associé.
Pour poursuivre le raisonnement, voici ce qui se passe lorsque j'essaie de monter mon disque USB non formaté :
mount: wrong fs type, bad option, bad superblock on /dev/sdb,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
4 :
Ce disque, utilisant un chargeur de démarrage MBR et n'ayant aucune sorte de table de partition, est très difficile à reconnaître pour mon PC de jeu à démarrage UEFI (celui que j'utilise en ce moment). En tant que tel, j'ai un ordinateur de test beaucoup plus ancien qui n'a besoin que de la signature de démarrage pour charger le chargeur de démarrage en mémoire, puisque je veux avoir quelque chose à démarrer avant de le rendre démarrable sur toutes les machines.
En tant que tel, il ne peut pas démarrer sur la plupart des machines.
Cependant, j'écris du code sur mon ordinateur ordinaire, je le compile en une image binaire, puis j'écris l'image sur mon drve usb. Ce que je voulais dire, c'est qu'avant que l'erreur ne se déclenche, ce processus d'imagerie fonctionne bien.
Bien que lorsque l'erreur se produit, quelle que soit la manière dont elle se produit, à partir de ce moment-là, je ne peux pas écrire sur l'USB. C'est un problème MAJEUR dans le développement, parce que je ne peux pratiquement pas écrire 10 lignes de code assembleur sans le tester d'abord, sinon je passerai trois fois plus de temps à déboguer le code parce que je n'ai tout simplement aucune idée de l'endroit où ça a mal tourné.
Merci pour votre temps, je sais que ce post est extrêmement long.