USB en direct sur une clé USB à 2 partitions

33

Je me demandais si je pouvais avoir 2 partitions sur un lecteur USB qui me permettraient de démarrer sur ma clé en tant que disque d'installation USB normal (partition1), et une autre partition pour le stockage régulier sous Windows / Ubuntu (partition2). Je voudrais avoir un disque avec:

/dev/sdb (16GB)
 - sdb1 : ext4/fat32, LiveUSB (2GB)
 - sdb2 : fat32, storage (14GB)

Cette clé peut-elle être démarrée ET utilisée comme un lecteur USB normal?

PS: c'est parce que j'en ai marre d'installer / désinstaller Ubuntu sur ma clé USB chaque fois que j'ai besoin de sauver un PC, et je ne suis pas prêt à acheter une clé USB uniquement pour le disque d'installation d'Ubuntu.

MrVaykadji
la source

Réponses:

24

Oui, vous pouvez partitionner un lecteur flash USB pour démarrer dans une session Ubuntu Live et l'utiliser comme un lecteur USB normal (accessible à Windows) sur des partitions distinctes. J'ai pu le faire avec un lecteur flash USB 2.0 PNY de 32 Go sur un ordinateur portable Sony Vaio T Series Ultrabook avec UEFI et Windows 8.0 installés. J'ai également testé cela à partir du serveur Ubuntu 12.04 sur mon serveur RAID5 i7-290 16 To.

J'ai partitionné la clé USB à l'aide de GParted dans cette configuration:

Lecteur flash USB 32 Go GParted

sdh1est la partition "Storage" accessible depuis Windows. sdh2est la partition de démarrage d'Ubuntu desktop 12.04. Ce sont mes étapes:

1. Création d'une nouvelle partition logique de 10 Go, ntfs, avec 25 Mo d'espace libre précédent 
et 0 Mo suivant, intitulé Stockage ( doit être le premier sur le lecteur ) 2. Création d'une nouvelle partition logique de 5 Go, fat32, avec 0 Mo précédant et suivant 3. Définissez un indicateur de démarrage pour la deuxième partition 4. (Créé les autres partitions qui ne sont pas nécessaires) 5. Démarré sur une session Ubuntu Live chargée sur un DVD et sélectionné Try Ubuntu
sans installation dans le menu GRUB 6. Open Startup Disk Creator avec le lecteur flash USB branché 7. La
partition Ubuntu-Desktop 12.04 Image et le lecteur flash USB 2.0 pny (/ dev / sdh2) de 5,0 Go étaient déjà sélectionnés, ont déplacé la diapositive Combien de stocker les documents
et les paramètres dans un espace supplémentaire réservé et sélectionné Créer un disque de démarrage

Sans sélectionner l'indicateur de démarrage, le créateur de disque de démarrage reconnaîtrait uniquement l'intégralité du lecteur flash comme /dev/sdh, au lieu de la deuxième partition souhaitée /dev/sdh2.

Sans mettre la partition Windows en premier, le bit de support amovible ...

"Le paramètre de périphérique de support amovible est un indicateur contenu dans la 
réponse SCSI Inquiry Data à la commande SCSI Inquiry. Le bit 7 de l'octet 1 (indexé à partir de 0) est le
bit de support amovible (RMB). Un RMB défini sur zéro indique que le périphérique n'est pas un
périphérique de support amovible. Un RMB de 1 indique que le périphérique est un
périphérique de support amovible . Les pilotes obtiennent ces informations à l'aide de la
demande StorageDeviceProperty . "

... signifierait qu'une seule partition apparaît dans Windows:

"Q. Qu'est-ce qu'une super-disquette?

UNE.  
Les supports amovibles sans formatage GPT ou MBR sont considérés comme une "super-disquette". 
L'ensemble du média est traité comme une seule partition.
Le fabricant de supports effectue tout partitionnement MBR des supports amovibles. Si le
support possède un MBR, une seule partition est prise en charge. Il y a peu de
différence perceptible par l'utilisateur entre les supports partitionnés MBR et les super-disquettes.
Exemples de supports amovibles: lecteurs de disquettes, cartouches de disques JAZ, supports
magnéto-optiques, DVD-ROM et CD-ROM. Les lecteurs de disque dur sur des bus externes
tels que SCSI ou IEEE 1394 ne sont pas considérés comme amovibles. "

Voici quelques outils qui permettent de retourner le RMB (ce qui n'est pas nécessaire dans ce cas):
Outil de formatage USB Laxar
Bootice
RMPrepUSB

Ce sont des approches logicielles (encore une fois inutiles dans ce cas):
Créez un pilote dummy.sys
Utilisez le Hitachi Microdrive Filterdriver

Crédit:
TSJNachos117 Live USB sur un lecteur USB à 2 partitions
http://ubuntuforums.org/showthread.php?t=1020293
https://stackoverflow.com/questions/2598502/howto-flip-removable-bit-on- usb-drive-in-c
http://www.rmprepusb.com/tutorials/multipartufd

conman253
la source
Merci, je vais essayer ça. Je sais que je pourrais utiliser un dossier dans la même partition, mais ce n'est PAS gracieux. Je veux une belle chose, c'est dans ma vie de tous les jours et je veux de la classe :) // Ne pas me vanter mais je sais aussi utiliser les outils de partition; ce qui m'a fait demander était de savoir si je pouvais ou non démarrer avec une clé USB partitionnée.
MrVaykadji
Cela fait; Je viens de vérifier pour être sûr. J'aime bien votre idée et je la développe pour créer 3 partitions: Ubuntu12.04 (bootable), Hirens (bootable) et Storage. J'aimerais être chic comme ça aussi;)
conman253
Je l'ai fait fonctionner beaucoup plus facilement que tout ce que j'ai trouvé en ligne ... enfin.
conman253
4
Y a-t-il une raison pour les 25 Mo précédant les partitions? Pourquoi 25? La taille diffère-t-elle en fonction de l'espace total du lecteur flash?
stevendesu
1
Ce message est obsolète SDC n'a pas eu de pointeur de persistance depuis le 14.04.
CSCameron
8

J'ai trouvé un moyen alternatif qui est plus simple. Il y a 2 informations importantes dont on a besoin pour comprendre pourquoi cela fonctionne. Le premier concerne le processus de démarrage et la façon dont l'auto-test de mise sous tension initial (exécuté par le BIOS) recherche un enregistrement de démarrage sur le premier secteur de démarrage des périphériques connectés. Il s'agit d'un petit fichier qui passe essentiellement le processus d'exécution de démarrage sur le chargeur / gestionnaire de démarrage tel que GRUB2 sur les installations Linux plus récentes. Pour plus d' informations à ce sujet , lire ce très instructif poste .

La deuxième information est de comprendre que les téléchargements ISO pour les OS Linux sont conçus pour être installés sur un disque (CD / DVD / USB) et non pour une partition. Ces ISO doivent être modifiés à l'aide d'un petit outil qui se trouve sur l' syslinux-utilsemballage, appelé isohybrid. La modification ISO pour l'installation sur une partition se fait avec le --partok drapeau . J'ai trouvé cette information dans ce post qui décrit exactement le même problème. Je ne sais pas comment fonctionne la --partokmagie, j'ai cherché des explications mais je n'en ai pas trouvé.

En résumé , voici ce que j'ai fait pour que mon installation PureOS en direct démarre à partir d'une partition USB,

  1. Partitionné mon USB en utilisant le disque GNOME, j'ai initialement formaté le disque en utilisant MBR / DOS. J'ai créé une partition de 4 Go (FAT32) suivie d'une partition Linux ext4 dans l'espace restant pour mes sauvegardes.

  2. Ensuite, j'ai modifié le fichier ISO que j'ai téléchargé pour le rendre amorçable à partir de la partition. Pour ce faire, j'ai dû installer le syslinux-utilsdepuis les référentiels, dans lequel isohydridréside l' outil:

    sudo apt-get install syslinux-utils
    

    J'ai ensuite modifié le fichier ISO avec:

    isohybrid --partok pureos.ISO
    
  3. J'ai utilisé ddpour copier cette image ISO sur la partition ci-dessus. Vous pouvez obtenir le périphérique de partition à partir des détails du disque GNOME.

    dd if=pureos.ISO of=/dev/sdb1 bs=1M
    
  4. Depuis le disque GNOME, j'ai édité la partition et vérifié l' option de démarrage , qui installe l'enregistrement de livre requis.

Je pouvais maintenant démarrer à partir de la clé USB sur le CD live et l'utiliser comme solution de récupération tout en stockant mes sauvegardes système sur l'autre partition.

Aurovrata
la source
J'ai essayé il y a un an de faire en sorte que cela fonctionne et j'ai échoué. Évidemment, je n'ai pas trouvé ce post à l'époque. Ça marche! Je souhaite qu'il y ait plus de documentation - je reçois un avertissement indiquant que tous les BIOS ne peuvent pas démarrer mon stick, ce qui est effectivement le cas. Mais c'est encore plus loin qu'avant.
Matthew
2

La réponse simple est oui, mais vous pouvez aller plus simple!

assurez-vous d'avoir une image ISO de la saveur Linux que vous voulez sur le lecteur et UNetbootin, disponible ici: http://unetbootin.sourceforge.net/

Assurez-vous de sélectionner Installation du disque dur dans la liste déroulante et de copier toutes vos données depuis le lecteur avant de commencer. Vous devriez pouvoir utiliser le reste de l'espace à vos autres fins!

Viperfang
la source
Ce n'est pas vraiment ce que je veux faire, la raison pour laquelle je veux séparer les partitions est d'avoir un espace de stockage propre, sans tous les dossiers du disque d'installation ubuntu. Les cacher ne fonctionnerait pas car j'utilise le lecteur USB sur Windows et Ubuntu.
MrVaykadji
De plus, Unetbootin ne me permettra de démarrer le live qu'en anglais, et je veux utiliser ma langue maternelle.
MrVaykadji
Une fois unetbootin installé, vous pouvez utiliser un gestionnaire de partition pour réduire la partition et en ajouter une pour vos propres fichiers après (gparted le ferait parfaitement) Quant au changement de langue, vous pouvez éditer le chargeur de démarrage pour ajouter des paramètres du noyau, voir < help.ubuntu.com/lts/installation-guide/powerpc/boot-parms.html > en ce qui concerne l'installateur Debian / langue (langue), l'installateur Debian / pays (pays), l'installateur Debian / locale (paramètres régionaux) à forcez vos paramètres régionaux requis
Viperfang
oui, mais pourrais-je toujours démarrer ma clé USB pour une session en direct?
MrVaykadji
2

Lecteur live persistant

Vous pouvez utiliser mkusb pour créer un lecteur live persistant. Il créera 5 partitions. Voir ce lien,

help.ubuntu.com/community/mkusb

  • La partition # 1 a le label 'usbdata' et le système de fichiers NTFS, qui peuvent être utilisés par Ubuntu et Windows afin de stocker des fichiers et de transférer des fichiers entre ordinateurs.

  • Les autres partitions appartiennent au système live persistant Ubuntu.

    Voir ce lien pour plus de détails,

    help.ubuntu.com/community/mkusb/persistent#Partitions

    1. partition: (NTFS) usbdata pour le stockage et le transfert de fichiers

    2. partition: GPT: indicateur bios_grub pour démarrer en mode BIOS; MSDOS: partition étendue

    3. partition: (FAT32) partition de démarrage

    4. partition: (ISO 9660) fichier iso cloné

    5. partition: (ext4) casper-rw ou live-rw ou persistance

Détails

Détails sur les partitions depuis et après la création du système live persistant:

...
parted -s "/dev/sdd" print
Model: SanDisk Extreme (scsi)
Disk /dev/sdd: 16,0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 2      1049kB  2097kB  1049kB               primary  bios_grub
 3      2097kB  258MB   256MB   fat32        primary  boot, esp
 4      258MB   1791MB  1533MB               primary
 5      1791MB  8902MB  7111MB  ext2         primary
 1      8902MB  16,0GB  7111MB  ntfs         primary  msftdata

lsblk -o MODEL,NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE "/dev/sdd"
MODEL            NAME   FSTYPE  LABEL                    MOUNTPOINT  SIZE
Extreme          sdd                                                14,9G
                 |-sdd1 ntfs    usbdata                              6,6G
                 |-sdd2                                                1M
                 |-sdd3 vfat    usbboot                              244M
                 |-sdd4 iso9660 Ubuntu 16.04.1 LTS amd64             1,4G
                 `-sdd5 ext4    casper-rw                            6,6G
</pre>
 Done :-) 
The target device is ready to use.
'ubuntu-16.04.1-desktop-amd64.iso'
was installed

gparted dans 16.04 LTS ne reconnaissant pas le système de fichiers iso 9660 et l'image de démarrage bios_grub:

entrez la description de l'image ici

gparted en 17.10 voir le système de fichiers iso 9660 et l'image de démarrage bios_grub:

entrez la description de l'image ici

sudodus
la source
1

Cela devrait être facile à faire. Cependant, soyez averti à l'avance que Windows ne pourra voir que la première partition (/ dev / sdb1), la deuxième partition sera invisible (je ne sais pas pourquoi). Par conséquent, je recommanderais que la partition de stockage à usage général soit la première, et la partition LiveUSB soit la deuxième.

Si après cela, vous ne pouvez pas obtenir la clé pour démarrer, vous devriez pouvoir définir l' indicateur de démarrage à l' aide de GParted.

Veuillez noter: bien que j'aie déjà réussi cela, je n'ai jamais testé de faire quelque chose comme ça sur un système basé sur UEFI, sans parler de quelque chose qui utilise Secure Boot.

TSJNachos117
la source
J'ai bien peur de devoir argumenter sur ce point. J'ai moi-même un lecteur flash que j'utilise à la fois en tant que version LiveUSB d'Ubuntu et pour le stockage général. Ma première partition est une partition NTFS, qui fonctionne parfaitement sur XP et 7. Ma deuxième partition est une partition FAT32, qui contient une version live d'Ubuntu. Je ne peux même pas voir cette partition depuis Windows, même depuis le gestionnaire de disques (diskmgmt.msc). Cependant, je peux démarrer à partir de celui-ci et y lire / écrire à partir d'Ubuntu. Voir le 4ème paragraphe ICI .
TSJNachos117
Toutes mes excuses pour le vote négatif. Après avoir lu votre commentaire, j'ai réalisé que ma partition de démarrage Ubuntu Live n'était pas la première. Si vous faites un petit montage, je donnerai un vote bien mérité.
conman253
De quel montage s'agit-il?
TSJNachos117
Le forum ne me laissera pas modifier mon vote négatif tant que votre réponse n'aura pas été modifiée. J'ai juste essayé d'ajouter <p> mais pas de chance. Vous pouvez simplement les supprimer.
conman253
De nos jours, Windows 10 permet d'accéder à plusieurs partitions de "type Windows FS". Fat32, NTFS, UDF.
CSCameron
1
  1. Vous souhaitez conserver la partie principale de votre clé USB en tant que stockage FAT32 14 Go
  2. Vous voulez une partie LiveUSB dans Ext4 2GB

Ensuite, la disposition de votre clé USB suit:

sdb1 14 Go de stockage Fat32 et dossier EFI
sdb2 2 Go Ext4 LiveUSB

  1. Vous devez créer le poing de la partie Fat32 pour être vu sous Windows, car sans beaucoup de réglages, Windows ne monte que la 1ère partition de votre USB
  2. Cette partition Fat32 contient également le dossier EFI pour démarrer votre partie LiveUSB
  3. Si vous voulez la partition LiveUSB sdb2 sur Ext4. Par défaut, le bootx64.efi intégré de LiveUSB ne démarre pas une partition Ext4. J'ai donc fait un bootx64.efi modifié. Vous venez de copier le fichier dans sdb1 / EFI / boot /. Et il démarrera votre partie Ext4 LiveUSB. Tous mes détails ici https://github.com/sonvirgo/Ext4-LiveUSB
Son Nguyen
la source
Très intéressant. Cette méthode permettra-t-elle l'utilisation d'une partition casper-rw?
CSCameron
@CSCameron Pourtant, bien sûr. Vous pouvez ajouter une partition ext4 supplémentaire pour casper-rw. Pour autant que cela continue: source $prefix/x86_64-efi/grub.cfgafin que bootx64.efi puisse trouver la partition de grub. Mettez à jour ma réponse avec Windows 10 1703+, vous êtes libre de faire plusieurs partitions dans n'importe quel ordre. Tous peuvent être montés sous 1703+
Son Nguyen
0

Une solution simple:

  1. Utilisez KDE Partition Manager pour supprimer toutes les partitions et créer une 2,048partition principale MB, FAT32.

  2. Allouez le reste de l'espace libre à votre partition de données. Si vous avez besoin d'interopérabilité avec Windows, choisissez NTFS comme système de fichiers, mais sachez que lors de la lecture à partir de Linux, tous les fichiers avec ont l' +xattribut défini. Sinon, choisissez ext4.

  3. Utilisez unetbootin pour écrire l'ISO (Ubuntu 18.04 est de cette taille, 2 Go). Ne vous inquiétez pas, il semble qu'il n'écrit que sur /dev/sdaune partition particulière.

Dans ma configuration, gpartedne voit pas les partitions correctement, contrairement à KDE Partition Manager. Je ne sais pas quoi faire de ça.

Dan Dascalescu
la source