Live USB na dysku USB z 2 partycjami

33

Zastanawiałem się, czy mogę mieć 2 partycje na dysku USB, które pozwoliłyby mi uruchomić się na moim kluczu jako zwykłym dysku instalacyjnym USB (partycja 1) i kolejnej partycji do regularnego przechowywania w systemie Windows / Ubuntu (partycja 2). Chciałbym mieć dysk z:

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

Czy ten klucz można uruchomić ORAZ użyć go jako zwykłego napędu USB?

PS: to dlatego, że mam dość instalowania / odinstalowywania Ubuntu na dysku USB za każdym razem, gdy muszę ratować komputer, i nie chcę kupować napędu USB tylko na dysk instalacyjny Ubuntu.

MrVaykadji
źródło

Odpowiedzi:

24

Tak, możesz podzielić dysk flash USB na partycje, aby uruchomić system Ubuntu Live Session i używać go jako zwykłego dysku USB (dostępnego w systemie Windows) na oddzielnych partycjach. Byłem w stanie to zrobić z dyskiem flash 32 GB PNY USB 2.0 na laptopie Sony Vaio T Series Ultrabook z zainstalowanym UEFI i Windows 8.0. Przetestowałem to również z serwera Ubuntu 12.04 na moim serwerze 16 TB RAID5 i7-290.

Pamięci flash USB podzieliłem na partycje za pomocą GParted w tej konfiguracji:

Dysk flash USB 32 GB GParted

sdh1to partycja „Storage” dostępna z systemu Windows. sdh2jest partycją rozruchową partycji Ubuntu Desktop 12.04. To były moje kroki:

1. Utworzono nową partycję logiczną NTFS, 10 GB, z 25 MB wolnej przestrzeni przed 
i 0 MB następną, oznaczoną jako Pamięć masowa ( musi być pierwsza na dysku ) 2. Utworzono nową partycję logiczną 5 GB, fat32, z 0 MB poprzednimi i następnymi 3. Ustaw flagę rozruchową dla drugiej partycji 4. (Utworzono inne partycje, które nie są potrzebne) 5. Uruchomiony do Sesji Live Ubuntu załadowanej na DVD i wybrał Wypróbuj Ubuntu
bez instalacji z menu GRUB 6. Otwórz Kreator dysku startowego z podłączonym dyskiem flash USB 7. Partycja Ubuntu-Desktop 12.04 Image i pny USB 2.0 (/ dev / sdh2) 5.0 GB
już została wybrana, przesunęłam slajd, aby zapisać dokumenty
i ustawienia w zarezerwowanej dodatkowej przestrzeni i wybrałem Utwórz dysk startowy

Bez zaznaczenia flagi rozruchowej Kreator dysku startowego rozpoznaje tylko cały dysk flash jako /dev/sdhzamiast żądanej drugiej partycji /dev/sdh2.

Bez umieszczania partycji Windows na pierwszym miejscu, bit Media wymienne ...

„Ustawienie nośnika wymiennego to flaga zawarta w 
odpowiedzi danych zapytania SCSI na polecenie zapytania SCSI. Bit 7 bajtu 1 (indeksowany od 0) to
bit nośnika wymiennego (RMB). Ustawienie RMB na zero wskazuje, że urządzenie nie jest
nośnikiem wymiennym. RMB wynoszący jeden oznacza, że ​​jest to
nośnik wymienny . Sterowniki uzyskują te informacje za pomocą
żądania StorageDeviceProperty . ”

... oznaczałoby, że w systemie Windows pojawia się tylko 1 partycja:

„P: Co to jest superfloppy?

ZA.  
Nośniki wymienne bez formatowania GPT lub MBR są uważane za „superfloppy”. 
Cały nośnik jest traktowany jako pojedyncza partycja.
Producent nośników wykonuje dowolne partycjonowanie MBR nośników wymiennych. Jeśli
nośnik ma MBR, obsługiwana jest tylko jedna partycja.
Różnica między nośnikami z partycjami MBR a superfloppies jest niewielka .
Przykłady nośników wymiennych obejmują napędy dyskietek, kasety JAZ,
nośniki magnetooptyczne, DVD-ROM i CD-ROM. Dyski twarde w zewnętrznych magistralach,
takich jak SCSI lub IEEE 1394, nie są uważane za wymienne. ”

Oto kilka narzędzi, które
odwracają RMB (co w tym przypadku nie jest konieczne): Narzędzie
Laxar USB Format Bootice
RMPrepUSB

Są to podejścia programowe (znowu niepotrzebne w tym przypadku):
Utwórz sterownik dummy.sys
Użyj Hitachi Microdrive Filterdriver


Źródło : TSJNachos117 Live USB na dysku USB z 2 partycjami
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
źródło
Dzięki, spróbuję tego. Wiem, że mógłbym użyć folderu w tej samej partycji, ale to NIE jest taktowne. Chcę coś miłego, to jest w moim codziennym życiu i chcę trochę klasy :) // Nie mogę się chwalić, ale wiem też, jak korzystać z narzędzi do partycjonowania; zapytałem, czy mogę uruchomić komputer z partycjonowanym dyskiem USB.
MrVaykadji
To robi; Właśnie zweryfikowałem, aby się upewnić. Podoba mi się twój pomysł i rozwijam go, aby utworzyć 3 partycje: Ubuntu12.04 (bootowalny), Hirens (bootowalny) i Storage. Też chciałbym być z klasą taki;)
conman253
Sprawiło, że działało o wiele łatwiej niż cokolwiek, co znalazłem online ... w końcu.
conman253
4
Czy istnieje powód, dla którego 25 MB poprzedza partycje? Dlaczego 25? Czy rozmiar różni się w zależności od całkowitej ilości miejsca na dysku flash?
stevendesu
1
Ten post jest przestarzały SDC nie ma wskaźnika trwałości od 14.04.
CSCameron
8

Znalazłem alternatywny sposób, który jest prostszy. Istnieją dwie ważne informacje, które należy zrozumieć, dlaczego to działa. Pierwszy dotyczy procesu rozruchu i tego, jak początkowy autotest po uruchomieniu (wykonywany przez BIOS) szuka rekordu rozruchowego w pierwszym sektorze rozruchowym podłączonych urządzeń. Jest to mały plik, który w zasadzie przekazuje proces wykonywania rozruchu do modułu ładującego / menedżera rozruchu, takiego jak GRUB2 w nowszych instalacjach Linuksa. Aby uzyskać więcej informacji na ten temat, przeczytaj ten bardzo pouczający post .

Drugą informacją jest zrozumienie, że pliki do pobrania ISO dla systemów Linux są przeznaczone do instalowania na dysku (CD / DVD / USB), a nie na partycji. Te ISO należy zmodyfikować za pomocą małego narzędzia, które można znaleźć w syslinux-utilspakiecie, o nazwie isohybrid. Modyfikacja ISO instalacji na partycji odbywa się za pomocą --partok flagi . Znalazłem te informacje z tego postu, który opisuje dokładnie ten sam problem. Nie jestem pewien, jak --partokdziała magia, szukałem jakiegoś wyjaśnienia, ale nie znalazłem żadnego.

Podsumowując , oto co zrobiłem, aby moja instalacja na żywo PureOS uruchomiła się z partycji USB,

  1. Partycjonowałem mój dysk USB za pomocą dysku GNOME, początkowo sformatowałem dysk za pomocą MBR / DOS. Utworzyłem partycję 4 GB (FAT32), a następnie partycję Linux ext4 na pozostałym miejscu na moje kopie zapasowe.

  2. Następnie zmodyfikowałem pobrany plik ISO, aby można go było uruchomić z partycji. Aby to zrobić, musiałem zainstalowaćsyslinux-utils z repozytoriów, w których isohydridrezyduje narzędzie:

    sudo apt-get install syslinux-utils
    

    Następnie zmodyfikowałem plik ISO za pomocą:

    isohybrid --partok pureos.ISO
    
  3. użyłem dd kopiowałem ten ISO na powyższą partycję. Możesz uzyskać urządzenie partycji ze szczegółów dysku GNOME.

    dd if=pureos.ISO of=/dev/sdb1 bs=1M
    
  4. Z dysku GNOME dokonałem edycji partycji i sprawdziłem zaznaczyłem opcję rozruchową , która instaluje wymagany rekord książki.

Byłem teraz w stanie uruchomić komputer z klucza USB na Live CD i użyć go jako rozwiązania do odzyskiwania, jednocześnie przechowując kopie zapasowe systemu na drugiej partycji.

Aurovrata
źródło
Próbowałem rok temu, aby to zadziałało, ale nie udało mi się. Oczywiście wtedy nie znalazłem tego postu. To działa! Chciałbym mieć więcej dokumentacji - otrzymuję ostrzeżenie o tym, że nie wszystkie BIOSy mogą uruchomić mój kij, co zresztą jest w rzeczywistości. Ale to wciąż znacznie dalej niż przedtem.
Matthew
2

Prosta odpowiedź brzmi: tak, ale możesz iść prostsze!

upewnij się, że posiadasz ISO systemu Linux na dysku i UNetbootin, dostępne tutaj: http://unetbootin.sourceforge.net/

Upewnij się, że wybierasz opcję instalacji dysku twardego z listy rozwijanej i skopiujesz wszystkie dane z dysku przed rozpoczęciem. Powinieneś być w stanie wykorzystać resztę miejsca do innych celów!

Viperfang
źródło
To nie jest tak naprawdę to, co chcę zrobić, dlatego chcę oddzielić partycje, aby mieć czyste miejsce do przechowywania, bez wszystkich folderów z dysku instalacyjnego Ubuntu. Ukrywanie ich nie działałoby, ponieważ korzystam z napędu USB zarówno w systemie Windows, jak i Ubuntu.
MrVaykadji
Ponadto Unetbootin pozwoli mi tylko na uruchomienie w języku angielskim i chcę używać mojego języka ojczystego.
MrVaykadji
Po zainstalowaniu unetbootin możesz użyć menedżera partycji, aby zmniejszyć partycję i dodać jeden dla własnych plików po nim (gparted zrobiłby to idealnie). Jeśli chodzi o zmianę języka, możesz edytować bootloader, aby dodać parametry jądra, patrz < help.ubuntu.com/lts/installation-guide/powerpc/boot-parms.html > w odniesieniu do debian-installer / language (language), debian-installer / country (country), debian-installer / locale (locale) to
wymuś
tak, ale czy nadal będę mógł uruchomić mój klucz USB na sesję na żywo?
MrVaykadji
2

Stała jazda na żywo

Możesz użyć mkusb, aby utworzyć trwały dysk na żywo. Stworzy 5 partycji. Zobacz ten link,

help.ubuntu.com/community/mkusb

  • Partycja nr 1 ma etykietę „usbdata” i system plików NTFS, z których mogą korzystać zarówno Ubuntu, jak i Windows, w celu przechowywania plików i przesyłania plików między komputerami.

  • Pozostałe partycje należą do trwałego systemu na żywo Ubuntu.

    Zobacz ten link, aby uzyskać więcej informacji,

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

    1. Partycja: (NTFS) usbdata do przechowywania i przesyłania plików

    2. partycja: GPT: flaga bios_grub do uruchamiania w trybie BIOS; MSDOS: partycja rozszerzona

    3. Partycja: partycja rozruchowa (FAT32)

    4. partycja: sklonowany plik ISO (ISO 9660)

    5. partycja: (ext4) casper-rw lub live-rw lub persistence

Detale

Szczegółowe informacje na temat partycji zi po utworzeniu trwałego systemu na żywo:

...
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 w 16.04 LTS nie rozpoznaje systemu plików ISO 9660 i obrazu rozruchowego bios_grub:

wprowadź opis zdjęcia tutaj

gparted w 17.10 widząc system plików ISO 9660 i obraz rozruchowy bios_grub:

wprowadź opis zdjęcia tutaj

sudodus
źródło
1

To powinno być łatwe do zrobienia. Ostrzegam jednak, że system Windows będzie widział tylko pierwszą partycję (/ dev / sdb1), druga partycja będzie niewidoczna (nie wiem dlaczego). Dlatego polecam partycję ogólnego przeznaczenia jako pierwszą, a partycję LiveUSB drugą.

Jeśli po wykonaniu tej czynności nie możesz uzyskać klucza do rozruchu, powinieneś być w stanie ustawić flagę rozruchu za pomocą GParted.

Uwaga: chociaż z powodzeniem to robiłem wcześniej, nigdy nie testowałem robienia czegoś takiego w systemie opartym na UEFI, nie mówiąc już o czymś korzystającym z Bezpiecznego rozruchu.

TSJNachos117
źródło
Obawiam się, że będę musiał się z tym kłócić. Ja sam mam dysk flash, którego używam zarówno jako wersji Ubuntu LiveUSB, jak i do ogólnego przechowywania. Moja pierwsza partycja to partycja NTFS, która działa doskonale zarówno na XP, jak i 7. Moja druga partycja to partycja FAT32, która zawiera wersję Ubuntu na żywo. Nie widzę nawet tej partycji w systemie Windows, nawet w menedżerze dysków (diskmgmt.msc). Jednak mogę z niego uruchomić i czytać z / Ubuntu. Zobacz czwarty akapit TUTAJ .
TSJNachos117
Przepraszamy za głosowanie w dół. Po przeczytaniu twojego komentarza zdałem sobie sprawę, że moja testowa partycja rozruchowa Ubuntu Live nie była pierwsza. Jeśli zrobicie małą edycję, dam zasłużone głosowanie.
conman253
Co to za edycja?
TSJNachos117
Forum nie pozwoli mi zmienić mojego głosowania w dół, dopóki twoja odpowiedź nie zostanie zmieniona. Próbowałem tylko dodać <p>, ale bez powodzenia. Możesz je po prostu usunąć.
conman253
Obecnie system Windows 10 umożliwia dostęp do wielu partycji typu „Windows FS”. Fat32, NTFS, UDF.
CSCameron,
1
  1. Chcesz zachować główną część pamięci USB jako 14 GB pamięci FAT32
  2. Chcesz, aby LiveUSB był częścią Ext4 2GB

Następnie układ USB:

sdb1
14 GB pamięci Fat32 i folder EFI sdb2 2 GB Ext4 LiveUSB

  1. Musisz utworzyć część pięści Fat32, aby była widoczna pod Windows, ponieważ bez wielu drobnych poprawek, Windows montuje tylko pierwszą partycję USB
  2. Ta partycja Fat32 zawiera również folder EFI, aby uruchomić część LiveUSB
  3. Jeśli chcesz partycję LiveUSB sdb2 na Ext4. Domyślnie wbudowany plik bootx64.efi LiveUSB nie uruchamia partycji Ext4. Więc zrobiłem ulepszony bootx64.efi. Po prostu skopiuj plik do sdb1 / EFI / boot /. I uruchomi twoją część Ext4 LiveUSB. Wszystkie moje szczegóły tutaj https://github.com/sonvirgo/Ext4-LiveUSB
Son Nguyen
źródło
Bardzo interesujące. Czy ta metoda pozwoli na użycie partycji Casper-RW?
CSCameron,
@CSCameron Na pewno. Możesz dodać dodatkową partycję ext4 dla casper-rw. O ile nadal source $prefix/x86_64-efi/grub.cfgtak jest : aby bootx64.efi mógł znaleźć partycję grub. Zaktualizuj moją odpowiedź w systemie Windows 10 1703+, możesz tworzyć wiele partycji w dowolnej kolejności. Wszystkie można zamontować do 1703+
Son Nguyen
0

Proste rozwiązanie:

  1. Użyj Menedżera partycji KDE, aby usunąć wszystkie partycje i utworzyć 2,048partycję podstawową MB, FAT32.

  2. Przydziel resztę wolnego miejsca na partycji danych. Jeśli potrzebujesz współdziałania z Windows, wybierz NTFS jako system plików, ale uważaj, że po odczytaniu z Linuksa wszystkie pliki mają +xustawiony atrybut. W przeciwnym razie wybierz ext4.

  3. Użyj unetbootin, aby napisać ISO (Ubuntu 18.04 ma mniej więcej ten rozmiar, 2 GB). Nie martw się, że wydaje się, że zapisuje tylko na /dev/sdaokreślonej partycji.

W moim ustawieniu gpartednie widzi poprawnie partycji, podczas gdy KDE Partition Manager. Nie jestem pewien, co z tym zrobić.

Dan Dascalescu
źródło