thj01 skrev:Lidt ekstre debugging materiale:
Kode: Vælg alt
thoj@thoj-Precision-M4800:/data/Programmer_hentede/Linux$ sudo dd if=ubuntu-16.04-desktop-amd64.iso of=/dev/sdb
[sudo] password for thoj:
2902112+0 blokke ind
2902112+0 blokke ud
1485881344 byte (1,5 GB) kopieret, 410,816 s, 3,6 MB/s
thoj@thoj-Precision-M4800:/data/Programmer_hentede/Linux$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 477G 0 disk
├─sda1 8:1 0 160,6G 0 part /
├─sda4 8:4 0 1K 0 part
├─sda5 8:5 0 15,3G 0 part [SWAP]
└─sda6 8:6 0 301,1G 0 part /data
sdb 8:16 1 3,8G 0 disk
└─sdb1 8:17 1 459M 0 part
sr0 11:0 1 1024M 0 rom
thoj@thoj-Precision-M4800:/data/Programmer_hentede/Linux$ sudo partprobe
Warning: /dev/sdb indeholder GPT-signaturer, der tyder på at den har en GPT-tabel. Imidlertid har den ikke en gyldig "falsk msdos-partitionstabel", som den burde. Måske er den ødelagt - muligvis af et program der ikke forstår GPT-partitionstabeller. Eller måske slettede du GPT-tabellen, og bruger nu en msdos-partitionstabel. Er dette en GPT-partitionstabel?
Error: Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.
Jeg kan se at du ikke har brugt de dd oflag jeg skrev.
Det er en god ide af de årsager er jeg nævnte i mit tidligere indlæg her i tråden også at køre partprobe efter enhver ændring, som vedrører en ændring af partitions, og/eller filsystemer på et block device: USB disk, harddisk og lignende.
En anden mulighed er på det kvante fysiske niveau, der kaldes for wear.
Wear tilstanden er at en eller flere flash celler er slidt op, fordi den kvante fysiske fælde der holder en elektron fanget i en flash cellle ikke længere virker.
Der hvor en flash celle der er ramt af wear resulterer i at flash cellen ikke kan skifte logisk niveau - den kan ikke skifte fra logisk 0 til logisk 1, eller omvendt.
I virkeligheden så lagrer en flash celle i den billige afdeling 2 bits per flash celle (et tal fra 0 til 4). Kun de dyre flash celler bruger 1 bit per flash celle.
På grund af wear kan der ikke laves ændringer, og så meldes der - helt korrekt - om fejl i partition tabellen.
For at undgå wear, så bruges noget der hedder
wear leveling, som er indlagt i firmwaren for en SSD harddisks microcontroller.
For USB lagerenheder der ikke har wear leveling kan du bruge et Linux filsystem der implementerer wear leveling. Du skal naturligvis have et kerne modul der kan læse filsystem.
Hvis filsystemet bruges til at boote fra, så skal filsystemet bygges ind i kernen, når kernen oversættes af en C compiler (GCC).
/Lars