Contenu | Rechercher | Menus

Annonce

La nouvelle clé USB Ubuntu-fr est en prévente
Rendez-vous sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/08/2019, à 18:01

Eric2011

LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

Bonjour,

Mon but:
Créer une live USB classique (donc NON-PERSISTANTE), mais avec une 2e partition en écriture pour y mettre des données perso par ex.
J'ai réussi à le faire, la session live se lance parfaitement, mais j'ai 2 ou 3 erreurs lors du boot, prêtent-elles à conséquence pour la suite, si je veux par exemple installer cette distri sur un ordi via cette clé, c'est ma question.


Voici pas-à-pas ce que j'ai fait pour en arriver là:

Iso de distri utilisé:
xubuntu-18.04.3-desktop-amd64.iso

1: Préparation de la clé 16G avec Gparted:
- /dev/sdd1: Partition d'environ 5G au début, Fat32, drapeaux: Boot, Lba
- /dev/sdd2: partition d'environ 10G sur le reste, Fat32

2: Copie de l'iso de Xubuntu sur sdd1 avec dd:

dd bs=4M if="/distri.iso" of=/dev/sdd1
sync

Tout se passe bien, j'ai à la fin le message:

1502576640 bytes (1,5 GB, 1,4 GiB) copied, 111,527 s, 13,5 MB/s

Je boot un ordi (bios uefi) avec cette clé, tout se passe (presque) bien, j'ai grub, et j'arrive à la session graphique du live de Xubuntu, mais en notant des erreurs furtives lors du boot:

- Juste avant grub:

error: unknowfilesystem.

- Puis, un peu plus loin, presque avant le lancement de l'interface graphique:

Couldn't get size: 0x8000000000000000000e

(je ne suis pas certain du nbre de 0 !)

Qu'en pensez-vous ?
Est-ce important pour la suite ?
Est-ce que ça risque de me générer des installations d'OS instables si je m'en sert, ou pas du tout ?

==> [Edit]:
Pour infos
Je viens de refaire un test avec une LiveUSB normale (càd, l'iso copié sur l'intégralité de la clé, pas sur une partition)
Et j'ai encore des erreurs:

- Vers la fin du boot, la même:

Couldn't get size: 0x8000000000000000000e

- et aussi:

[sda] Nocaching mode page found
[sda] Assuming drive cache: write through

Et pareil, mis à part ça, tout se passe bien
Est-ce spécifique à cet iso (j'ai pourtant vérifié la somme de contrôle)

Dernière modification par Eric2011 (Le 28/08/2019, à 20:03)

Hors ligne

#2 Le 04/09/2019, à 15:54

Eric2011

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

Je viens de faire une tentative de boot avec cette clé sur un autre ordi (je ne sais plus la marque, mais c'est une tour, équipée d'un i3 intel), et celà n'a pas fontionné, le boot est bien lancé sur la clé, mais j'ai un petit tiret blanc en haut à gauche de l'écran qui s'affiche clignotant, et plus rien ne se passe.
Par contre, avec une clé bootable réalisée avec copie de l'iso sur toute la clé (pas la partition), reste fonctionnelle.

j'imagine donc que ma procédure pour "fabriquer" ma clé bootable à 2 partitions est à revoir.
Mais bon, j'ai essayé.

@+ smile

Hors ligne

#3 Le 04/09/2019, à 16:14

Nasman

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

La copie de l'iso doit être faite sur la média (genre /dev/sdX) et non pas sur une partition (/dev/sdXn). Le souci principal c'est que le mbr est affecté et que la table des partition est "spéciale"
En gros avec une iso "mixte" on a

1ère partition de la taille de l'iso avec identifiant 0 (format iso....)
2ème partition incluse dans la première et au format fat32 (pour le boot uefi).

Il doit être possible de créer une autre entrée dans la table des partitions du mbr pour y indiquer une partition supplémentaire avec le format que tu auras choisi.

Je verrais le truc ainsi :
- avec gparted créer une partition par exemple en ext4, non pas au début de la clé mais au delà de la taille de l'iso - aligner au Mio en relevant le secteur de départ.
- créer la clé bootable avec

sudo dd if ton_fichier.iso of=/dev/sdX

(adapter le nom de fichier et la destination)
- afficher le contenu du mbr de la clé après manip
- créer (ou restaurer) l'entrée vers la partition précédemment créée
Pour la dernière étape je suppose que gparted sera inopérant et il faudra modifier la table des partitions "à la mano" (soit avec ghex sur une copie du mbr, soit directement avec hexedit).
Je pourrai t'indiquer quoi mettre en fonction du secteur de début de ta partition.


PC fixe sous Bionic 64 bits et portable avec Xenial 64 bits

En ligne

#4 Le 07/09/2019, à 16:06

Eric2011

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

Merci pour ces explications détaillées, je comprends mieux.

Voilà ce que j'ai fait:
Avec Gparted:
- Création sur la clé, d'une partition fat32 démarrant environ 3 Gio après le début, en alignant sur Mio
Premier secteur de cette partition: 6289408

Avec dd, copie sur la clé de l'iso de la distri:

dd if="/mon_iso.iso" of=/dev/sdX

Sauvegarde du mbr de la clé:
(inspiré du tuto: https://doc.ubuntu-fr.org/tutoriel/comm … _complete)

dd if=/dev/sdX of=/home/eric/mbr.img bs=512 count=1

Pour la suite, j'ai installé ghex, et j'ai réussi à afficher mon fichier mbr.img
Après, je te laisse la main pour m'indiquer les étapes, car je n'ai jamais fait.

:-)

Dernière modification par Eric2011 (Le 07/09/2019, à 16:19)

Hors ligne

#5 Le 07/09/2019, à 18:06

geole

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

Bonjour
Comme  tu utilses la commande DD, je te conseille cette solution https://doc.ubuntu-fr.org/mkusb#mise_du_mode_persistant

Hors ligne

#6 Le 08/09/2019, à 09:57

Eric2011

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

Merci geole, je garde ton lien sous le coude.
Il décrit la création d'une liveUSB persistante, dans une interface graphique s'appuyant sur dd (en gros, si j'ai bien compris). C'est presque ce que je veux faire, mais pas exactement.

En plus, la piste proposée par Nasman me tente plus pour l'instant, car l'édition de la table de partitions "à la main" me permettrait également de mieux comprendre ce que je fais, et j'adore également me compliquer la vie (lol).

@+ :-)

Hors ligne

#7 Le 08/09/2019, à 12:04

moko138

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

Eric2011 a écrit :

Mon but:
Créer une live USB classique (donc NON-PERSISTANTE), mais avec une 2e partition en écriture pour y mettre des données perso par ex.

Bonjour,
Si ce n'est pas indiscret, pourquoi tiens-tu à ce que ta clef soit non persistante, alors qu'il est tellement réalisable, en mode persistant, d'obtenir une 2ème partition (selon la méthode, en fat32 ou en extN) accessible même si on n'a pas démarré sur la live ?


%NOINDEX%
Un utilitaire méconnu : ncdu

En ligne

#8 Le 08/09/2019, à 19:14

Nasman

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

1ère étape : poster le résultat de

sudo fdisk -l

pour voir la capacité de ta clé et le formatage actuel

2ème étape, convertir la LBA de la partition 6289408 en hexa little endian (ce qui est codé dans le mbr
6289408 ---> 0x5FF800 en hexa, soient les 4 octets 00 f8 5f 00.

3ème étape, la taille de ta partition fat32 en secteurs, à convertir en hexa little endian (je ne connais pas le taille)

4ème étape, le système de fichiers fat32, son identifiant est sans doute 0b.

Les informations seront de la sorte pour cette partition :
Identifiant de partition bootable ou non (00 ici)
Données dans le système tête, secteur ,cylindre (CHS) pour le début de la partition
système de fichier (0b)
Fin de la partition dans le système CHS
Adresse LBA du début en hexa little endian
Taille de la partition en hexa little endian

Plus d'infos ici


PC fixe sous Bionic 64 bits et portable avec Xenial 64 bits

En ligne

#9 Le 11/09/2019, à 16:28

Eric2011

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

Désolé si c'est un peu long, mais je découvre, et je suis obligé de détailler pour comprendre ce que je fait.

Pour résumer, c'est presque bon, j'ai juste 2 soucis:
1: Je ne sais pas quoi mettre dans les 2 groupes de 3 octets (début et fin de la partition, en notation CHS) - voir à la fin, après l'étape 4
2: Je ne suis pas certain des chiffres de la taille de ma partition - voir étape 3

Voici ce que j'ai fait:

Étape 1:
Retour de la commande:

fdisk -l /dev/sdc
Disque /dev/sdc : 14,7 GiB, 15787360256 octets, 30834688 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x5cbd17b4

Périphérique Amorçage Début     Fin Secteurs Taille Id Type
/dev/sdc1    *            0 2934719  2934720   1,4G  0 Vide
/dev/sdc2             11688   16615     4928   2,4M ef EFI (FAT-12/16/32)


Étape 2:
Premier secteur de ma partition fat32: 6289408
[=> Question: le chiffre 6289408 correspond-t-il à un nombre de secteurs, ou à un nombre d'octets ?]

(Là, je reprends ce que tu as écrit)
Soit 0x5FF800 en hexa, soient les 4 octets 00 f8 5f 00



Étape 3:
Taille (nombre de secteurs) de ma partition fat32: 24545280
Infos obtenues avec Gparted, juste avant de copier de l'iso sur la clé:
Premier secteur: 6289408
Dernier secteur: 30834687
Secteurs totaux: 24545280

Soit, converti en hexa: 0x1768800, soit, converti en little endian: 00 88 76 1
=> Je trouve qu'il a une tête bizarre ce code hexa, il n'y a pas de lettres, et il est trop court d'un chiffre, c'est normal ? (pourtant, j'ai vérifié ma conversion)



Étape 4: => OK (Sytème fat32, donc, 0b)


Ensuite, pour infos, voici un copié-collé remis un peu en forme, depuis l'éditeur, de ma table de partition actuelle (j'ai copié depuis l'octet 446):

80   00 01 00   00   59 E0 FA   00 00 00 00   C0 C7 2C 00
00   FE FF FF   EF   FE FF FF   A8 2D 00 00   40 13 00 00
00   00 00 00   00   00 00 00   00 00 00 00   00 00 00 00
00   00 00 00   00   00 00 00   00 00 00 00   00 00 00 00

On voit bien les 4 partions, et je suppose qu'il faudra que je rajoute les bonnes infos dans la 3e ligne, qui correspondra à ma partion fat32

Je commencerais à modifier ma partition n°3 comme suit:

00   00 00 00   0b   00 00 00   00 f8 5f 00   00 88 76 1?

Commentaires:
Les 2 premiers octets: 00 car pas bootable
Le 1er groupe de 3 octets: Je sèche
Les 2 octets suivants: 0b car fat32
Le 2e groupe de 3 octets: Je sèche aussi...
Le 1er groupe de 4 octets: 00 f8 5f 00 (Début de la partion, en hexa little endian, voir l'étape 2)
Le 2er groupe de 4 octets: 00 88 76 1? (C'est la taille de la partition, mais j'ai un gros doute sur la validité des chiffres, voir étape 3)

Dernière modification par Eric2011 (Le 11/09/2019, à 16:39)

Hors ligne

#10 Le 11/09/2019, à 17:33

Nasman

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

Pour le début de ta partition :
L'adresse LBA=6289408 se décompose en 16065*C + 63*H + S-1, d'où (en notation CHS), C=391, H=126 S=56.
La valeur pour H est donc 7E (en hexa)
La valeur du cylindre en binaire est 110000111 (codé sur 10 bits) les 8 bits de poids faible, soient 10000111 correspondent à la valeur hexa 87, pour les bits 8 et 9 on a 01
Le valeur du secteur est 111000 en binaire (codé sur 6 bits), les bits 6 et 7 correspondent aux bits 8 et 9 du cylindre.
Il faut donc mettre pour les "secteurs" 01 111000, soit 78 en hexa.
Ton premier triplet est :
7E 78 87


PC fixe sous Bionic 64 bits et portable avec Xenial 64 bits

En ligne

#11 Le 11/09/2019, à 19:07

Nasman

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

Ta clé fait un nombre entier de Mio, le dernier secteur (taille du disque) est 30834688
Le début de ta partition est en 6289408. Tu peux donc mettre une taille de 24545280 secteurs, soit 1768800 en hexa
--> Les 4 octets sont 00 88 76 01

Pour la fin tu aurais le secteur 30834687, soit
C=30834687/16065 = 1919 qui est supérieur à la limite de codage du cylindre en notation CHS (cylindre codé sur 10 bits donc < 1024)

On va donc mettre la valeur maximale du système CHS (qui n'est quasiment plus utilisé), soit C=1023, H=254 et S=63
Soit fe ff ff


PC fixe sous Bionic 64 bits et portable avec Xenial 64 bits

En ligne

#12 Le 12/09/2019, à 00:13

Eric2011

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

Ça fonctionne, mais à moitié...
J'ai complété ma ligne de partition:

00 7e 78 87 0b fe ff ff 00 f8 5f 00 00 88 76 01

et restauré le mbr

dd if=/home/eric/mbr2.img of=/dev/sdc bs=512 count=1

Ma partition de données est bien accessible, et j'arrive à y écrire dessus, mais uniquement quand la clé est montée comme simple lecteur de masse.
Par contre, quand je boote dessus, le Xubuntu du liveUSB se lance bien, mais impossible de monter la partition de données.
J'ai un message d'erreur comme quoi elle est déjà montée, ou que le point de montage est actif.

Je constate que la clé, et les 3 partitions ont le même label, je ne sais pas trop si c'est gràve
De plus, le retour de lsblk (ci-dessous) indique que c'est tout sdb qui est monté.
Le problème viendrait-il de là ?


Voici quelques copié-collés de ce que j'ai fait, dans le liveUSB de Xubuntu:
- Ma clé, avec laquelle je boote, et qui contient le live de Xubuntu + ma partition de données, c'est sdb
- Ma partition de données, c'est sdb3

lsblk:

root@xubuntu:~# lsblk -o +label
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT LABEL
loop0    7:0    0   1,3G  1 loop /rofs      
sda      8:0    0 298,1G  0 disk            
├─sda1   8:1    0   731M  0 part            
├─sda2   8:2    0     1K  0 part            
└─sda5   8:5    0 297,4G  0 part            
sdb      8:16   1  14,7G  0 disk /cdrom     Xubuntu 18.04.3 LTS amd64
├─sdb1   8:17   1   1,4G  0 part            Xubuntu 18.04.3 LTS amd64
├─sdb2   8:18   1   2,4M  0 part            Xubuntu 18.04.3 LTS amd64
└─sdb3   8:19   1  11,7G  0 part            Xubuntu 18.04.3 LTS amd64
sr0     11:0    1  1024M  0 rom

Création d'un dossier, et tentative de montage dedans:

            
root@xubuntu:~# mkdir /media/xubuntu/donnees
root@xubuntu:~# mount /dev/sdb3 /media/xubuntu/donnees/
mount: /media/xubuntu/donnees : /dev/sdb3 déjà monté ou point de montage actif.

PS: Si le problème semble trop hardu à résoudre, je ne vais pas m'obstiner, ce n'est pas gràve, j'essayerai une autre méthode plus "clé en main"

Hors ligne

#13 Le 12/09/2019, à 08:06

Nasman

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

As tu formaté la partition sdb3 ?
La réécriture du mbr ne fait que "réserver" l'espace pour une telle partition. Il faut ensuite la formater avec un sudo mkfs...

Que donne

sudo fdisk -l

lancé depuis la session Live
Que donne

df -h

lancé depuis cette même session Live


PC fixe sous Bionic 64 bits et portable avec Xenial 64 bits

En ligne

#14 Le 12/09/2019, à 09:32

Eric2011

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

As tu formaté la partition sdb3 ?

Je viens de le refaire, mais ça ne change rien:
(Et pout info, Gparted ne voit que l'iso étalé sur toute la clé (sdc ou sdb, selon la session normale ou live))


En résumé, mes dernières manips:
En session normale (clé: sdc, partition de données: sdc3), aucune partition sur sdc n'étant montée :

root@eric:~# mkfs.vfat -F 32 /dev/sdc3
mkfs.fat 4.1 (2017-01-24)
root@eric:~#

En session live:
- Retour de fdisk -l /dev/sdb  (clé: sdb, partition de données: sdb3):

root@xubuntu:~# fdisk -l /dev/sdb
Disque /dev/sdb : 14,7 GiB, 15787360256 octets, 30834688 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x5cbd17b4

Périphérique Amorçage   Début      Fin Secteurs Taille Id Type
/dev/sdb1    *              0  2934719  2934720   1,4G  0 Vide
/dev/sdb2               11688    16615     4928   2,4M ef EFI (FAT-12/16/32)
/dev/sdb3             6289408 30834687 24545280  11,7G  b W95 FAT32
root@xubuntu:~# 

- Retour de df -h:

root@xubuntu:~# df -h
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
udev               1,9G       0  1,9G   0% /dev
tmpfs              389M    1,4M  388M   1% /run
/dev/sdb           1,4G    1,4G     0 100% /cdrom
/dev/loop0         1,4G    1,4G     0 100% /rofs
/cow               1,9G    107M  1,8G   6% /
tmpfs              1,9G     35M  1,9G   2% /dev/shm
tmpfs              5,0M    8,0K  5,0M   1% /run/lock
tmpfs              1,9G       0  1,9G   0% /sys/fs/cgroup
tmpfs              1,9G    508K  1,9G   1% /tmp
tmpfs              389M     28K  389M   1% /run/user/999
/dev/sdc1          3,8G    2,8G  982M  75% /media/xubuntu/EMTEC-4GO

Hors ligne

#15 Le 12/09/2019, à 09:44

Nasman

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

Quelques remarques :
- compte tenu du chevauchement de partitions liée à l'iso "mixte" (sdb2 incluse dans sdb1), gparted devrait afficher le disque comme "non alloué" (il refuse de travailler en cas de table incohérente)
- il reste un gros espace entre sdb1 et sdb3, tu aurais pu faire commencer sdb3 à la LBA=2934784 (alignement au Mio), soit l'adresse hexa 0x002cc800 (donc les 4 octets 00 c8 2c 00)
- pour le problème de la partition montée, je ne saurais te dire.


PC fixe sous Bionic 64 bits et portable avec Xenial 64 bits

En ligne

#16 Le 12/09/2019, à 11:21

Eric2011

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

Pour info:
Gparted voit bien un système de fichier "iso9660", sur toute la clé.
L'espace entre sdb1 et sdb3 vient de mon estimation de la place prise par l'iso, faite avant les manips

En tout cas, merci pour ton aide, ça m'a fait une belle petite formation sur le mbr.


moko138 a écrit :

Bonjour,
Si ce n'est pas indiscret, pourquoi tiens-tu à ce que ta clef soit non persistante...

Hello !
Pardon pour le retard à te répondre, mais je ne voulais pas polluer mes échanges avec Nasman.
Il n'y a rien d'indiscret, j'aime souvent explorer en premier les solutions demandant le moins d'outils externes, donc, souvent, le plus universelles pour pouvoir être utilisées partout en installant le minimum de paquets. Et je ne le regrette jamais, c'est comme ça que je me forme. Mais, c'est vrai, que dans ce cas précis, les outils dédiés à la création de clés bootables sont très bien fait, et sont d'une aide précieuse. J'utilisait auparavant unetbootin, mais qui a été retiré des paquets par défaut. Je vais m'interesser à mkusb qui a l'air sympa, d'après les différents retours que j'ai pu en avoir.

@+
smile

Hors ligne

#17 Le 12/09/2019, à 17:07

geole

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

Bonjour
Puisque tu aimes expérimenter: Dans cette documentation, tu trouveras  de quoi fabriquer une structure de boot    EFI, il ne te restera plus qu'à y ajouter le MBR pour booter en LEGACY si tu choisis de mettre dans une partition de la clé USB au lieu du disque dur

Hors ligne

#18 Le 12/09/2019, à 18:36

Eric2011

Re : LiveUSB: Iso sur 1 partition - 2e partition en écriture pour datas

Merci geole pour le lien. Je garde ce tuto à portée de main au cas où.
smile

Hors ligne