Come faccio a creare una USB live persistente di Ubuntu 16.04?


12

Ho bisogno di Ubuntu live persistente, preferibilmente di 16.04, perché devo salvare il mio intero HDD crittografato di 16.04 come discusso nel thread Come posso aggiungermi di nuovo nel gruppo sudo in HDD crittografato di 16.04? Creo qui un nuovo persistente Live Ubuntu 16.04 con alcuni bug descritti alla fine con Videonauth .

  1. sudo apt-get install gksu debootstrap
  2. gksudo gparted. Crea USB ext4lasciando solo 1 GB di memoria libera e imposta 1 GB per Linux Swap; Gestisci flag> solo boot.
  3. Preparare il sistema operativo ed eseguirlo nella chiavetta USB

    sudo mkdir /mnt/stick
    sudo mount /dev/sdb1 /mnt/stick/
    sudo debootstrap --arch=amd64 xenial /mnt/stick http://de.archive.ubuntu.com/ubuntu/
    sudo mount -o bind /dev /mnt/stick/dev
    sudo mount -o bind /dev/pts /mnt/stick/dev/pts
    sudo mount -t sysfs /sys /mnt/stick/sys
    sudo mount -t proc /proc /mnt/stick/proc
    sudo cp /proc/mounts /mnt/stick/etc/mtab
    sudo cp /etc/resolv.conf /mnt/stick/etc/resolv.conf
    sudo chroot /mnt/stick/
    
  4. Sembra veloce root@masi-CM6340:/#. Imposta locali.

    %locale-gen en_US en_US.UTF-8
    %dpkg-reconfigure locale
    dpkg-rekonfigure locales % two above commands cause a bug in gnome-terminal; choose here your locales and set environment en_US.UTF-8
    dpkg-reconfigure keyboard-configuration
    localedef -i en_US -c -f UTF-8 en_US.UTF-8
    
  5. apt-get install linux-image-generic. Hai capito /dev/sda [NotThisOne, your HDD], 2 /dev/sdb (31474 MB; ???) 2b - /dev/sdb1 (30398 MB; /). Scegli /dev/sdb1e /dev/sdb. Scegli qui il kernel Linux che cosa ti piace. Mantengo il kernel Linux 4.6 più stabile che è possibile scaricare come descritto alla fine del corpo.

  6. apt-get install vim wget

  7. blkid, Copiare negli appunti, vim /etc/fstab. Rimuovi le sdarighe in modo che solo due sdbrighe. Modificali per piacere UUID="..." swap swap defaulst 0 0e UUID="..." / ext4 defaults 0 1.

  8. Incolla quanto segue nel file /etc/apt/sources.list

    #deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
    
    # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
    # newer versions of the distribution.
    deb http://de.archive.ubuntu.com/ubuntu/ xenial main restricted
    # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial main restricted
    
    ## Major bug fix updates produced after the final release of the
    ## distribution.
    deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
    # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
    ## team, and may not be under a free licence. Please satisfy yourself as to
    ## your rights to use the software. Also, please note that software in
    ## universe WILL NOT receive any review or updates from the Ubuntu security
    ## team.
    deb http://de.archive.ubuntu.com/ubuntu/ xenial universe
    # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial universe
    deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates universe
    # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-updates universe
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
    ## team, and may not be under a free licence. Please satisfy yourself as to 
    ## your rights to use the software. Also, please note that software in 
    ## multiverse WILL NOT receive any review or updates from the Ubuntu
    ## security team.
    deb http://de.archive.ubuntu.com/ubuntu/ xenial multiverse
    # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial multiverse
    deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
    # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
    
    ## N.B. software from this repository may not have been tested as
    ## extensively as that contained in the main release, although it includes
    ## newer versions of some applications which may provide useful features.
    ## Also, please note that software in backports WILL NOT receive any review
    ## or updates from the Ubuntu security team.
    deb http://de.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
    # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
    
    ## Uncomment the following two lines to add software from Canonical's
    ## 'partner' repository.
    ## This software is not part of Ubuntu, but is offered by Canonical and the
    ## respective vendors as a service to Ubuntu users.
    deb http://archive.canonical.com/ubuntu xenial partner
    deb-src http://archive.canonical.com/ubuntu xenial partner
    
    deb http://security.ubuntu.com/ubuntu xenial-security main restricted
    # deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted
    deb http://security.ubuntu.com/ubuntu xenial-security universe
    # deb-src http://security.ubuntu.com/ubuntu xenial-security universe
    deb http://security.ubuntu.com/ubuntu xenial-security multiverse
    # deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse
    
  9. Fare

    dpkg-divert --local --rename --add /sbin/initctl
    ln -s /bin/true /sbin/initctl
    apt-get update
    % Comment this out if ubuntu-desktop is wanted
    apt-get install ubuntu-desktop 
    % Comment out if ubuntu-server is wanted
    % apt-get install ubuntu-server
    adduser --home /home/masi masi
    
  10. Aggiungi masiai gruppi esistenti da usermod -aG adm,cdrom,sudo,dip,plugdev,lpadmin,sambashare masicui puoi tralasciare sambashare.

  11. Ignora i driver perché la chiavetta USB non è stata realizzata per un PC.

  12. Per ripristinare l'HDD crittografato, installare i pacchetti in apt-get ecryptfs-utils schroot testdiskcui testdiskpreparare dischi e gli altri due per ripristinare l'intero disco Ubuntu 16.04 crittografato.

  13. sudo echo 'GRUB_DISABLE_OS_PROBER="true"' >> /etc/default/grub; update-grub

  14. Finalizza l'installazione. Fare

    rm /sbin/initctl
    dpkg-divert --local --rename --remove /sbin/initctl
    

Prova la tua installazione di Persistent Live Ubuntu 16.04 [alpha]

  1. Avvia il tuo nuovo Ubuntu persistente. Nel terminale, fallo sudo true. Se ci riesci Unable to resolve host * Connection refused, fallo

    # /ubuntu//q/59458/25388
    sudo vim /etc/hostname
    masi 
    
    sudo vim /etc/hosts 
    127.0.0.1    localhost.localdomain masi
    [...]
    
  2. Possibile complicazione: Ubuntu inizia in $ (inittramfs) $. Fare ...

Risultato: USB avvia l'interfaccia utente e l'interfaccia utente di Ubuntu Desktop

  • puoi aprire LibreOffice, Firefox, ...
  • masiè nel gruppo sudo; gruppi corretti.
  • Locales impostato correttamente quando chrootattaccare.
  • Se hai un bug in gnome-terminal, cioè aprendolo nella GUI, fallo di sudo dpkg-rekonfigure localesnuovo in TTY1. Risolve il caso.

Bug segnalati a Videonauth

Sempre sistema di aggiornamento-e-upgrade nel fare delle prove: sudo apt-get update && sudo apt-get upgrade.

  1. Browser Internet di Ubuntu. L'avvio si arresta in modo anomalo nel sistema. Il mouse funziona solo ma nessun segnale può essere inviato al TTY.
  2. Firefox. L'avvio dà un avvertimento su [profilo esistente] quindi non può essere aperto. Correzione temporanea rm -r ~/.mozilla && rm -r ./.cache/mozillasolo per una sessione. Il problema persiste ad ogni accesso. Meglio fix di lavoro: sudo mv -v /home/masi /home/masi_backup, sudo mkdir -v /home/masi, sudo chown masi:masi /home/masi, sudo chmod 755 /home/masie sudo rebootperché alcune proprietà delle casa-cartella provoca il bug. Esegui il comando della fonte e otterrai le seguenti differenze
  3. /etc/hostnamenon riesce a corrispondere /etc/hostsdopo qualche tempo
  4. A volte, inizia fino a (inittramsfs)

Uscita di vimdiff <(find /home/masi -printf "%P %u:%g %m\n" | sort) <(find /home/masi_backup -printf "%P %u:%g %m\n" | sort)

%LHS-file
.bash_history masi:masi 600
.cache/compizconfig-1/animation.pb masi:masi 664
.cache/compizconfig-1/commands.pb masi:masi 664
.cache/compizconfig-1/compiztoolbox.pb masi:masi 664
% here many files not existing in the RHS

%RHS-file (fresh installation)
.bash_history root:root 600
.bash_logout masi:masi 664
.bashrc masi:masi 644
.cache root:root 700

dove non capisco quale sia la causa del bug.

Aggiornamento a Linux Kernel 4.6

Fai come indicato qui . Esiste un bug universale con resume / suspend nel kernel 4.4 di Linux. L'aggiornamento a 4.6 lo risolve e rende il sistema molto migliore.

Sistema: 14.04, 16.04
Kernel Linux: 4.4 - 4.6


2
Hai mai provato "Startup Disk Creator"? È un'app GUI che farà esattamente questo, penso, usando un file ISO liveCD standard. O UNetBootin, che creerà tutti i tipi di dischi USB live senza nemmeno scaricare prima il file ISO (ma potrebbe non avere ancora 16.04).
Marty Fried,

1
@Masi Basta eliminare tutti i dati sulla tua attuale chiavetta USB Ubuntu, quindi seguire le istruzioni per creare una nuova chiavetta USB Ubuntu persistente. Se hai accesso a un file ISO di Ubuntu (o puoi scaricarne uno), sarebbe molto più semplice che provare a "convertire" una chiavetta USB esistente in modalità persistente.

1
Non riesci a eliminare tutto sulla chiavetta USB e quindi utilizzare Unetbootin o Startup Disk Creator per creare una "nuova" USB live persistente? Sarebbe molto più semplice di tutti quei comandi.

Sembra un'installazione completa, che si trova su una USB, non su una "live USB" ...
Xen2050,

1
La mia comprensione è che in Ubuntu parlare, un Live USB è lo stesso di un Live CD, è possibile eseguire ma non salvare. Una USB persistente è una USB live con un file o una partizione persistente che consente di salvare la sessione. Un'installazione completa è un'installazione su USB che utilizza gli stessi metodi dell'installazione su HDD interno.
CSCameron,

Risposte:


11

Per renderti una normale installazione Ubuntu completa su una USB o un HDD esterno puoi seguire la procedura che descrivo qui.

Si vuole iniziare facendo alcune installazioni di preparazione, è necessario gksudoche nel pacchetto gksu, schroote debootstrap. Quei pacchetti non sono installati di default, quindi digita un terminale ( ctrl+ alt+ t):

sudo apt-get install gksu debootstrap schroot

Ora puoi iniziare a preparare il tuo USB / HDD per l'installazione:

gksudo gparted

Per prima cosa vuoi andare al devicesmenu e selezionare create partition table, quando ti viene chiesto il tipo, scegli msdos. Ora dovresti vedere una voce per lo spazio non allocato. Fare clic su questo e scegliere nuovo e renderlo ext4 lasciando solo 1 GB come memoria libera, quindi fare nuovamente clic sulla voce di spazio non allocato e renderlo 1 GB per Linux Swap. Successivamente si applicano le impostazioni a USB / HDD. Quindi fare clic con il tasto destro del mouse sulla voce ext4 e scegliere manage flagse lì spuntare il segno di spunta boote uscire.

Ora devi preparare il tuo chrootambiente a lavorare eseguendo i seguenti comandi uno per uno:

sudo mkdir /mnt/stick
sudo mount /dev/sdb1 /mnt/stick/
sudo debootstrap --arch=amd64 xenial /mnt/stick http://archive.ubuntu.com/ubuntu/
sudo mount -o bind /dev /mnt/stick/dev
sudo mount -o bind /dev/pts /mnt/stick/dev/pts
sudo mount -t sysfs /sys /mnt/stick/sys
sudo mount -t proc /proc /mnt/stick/proc
sudo cp /proc/mounts /mnt/stick/etc/mtab
sudo cp /etc/resolv.conf /mnt/stick/etc/resolv.conf
sudo chroot /mnt/stick/

Il tuo prompt ora dovrebbe apparire così:

root@HOSTNAME:/#

Ora puoi iniziare il tuo vero processo di installazione, iniziare impostando l' localeimpostazione keyboard-configuratione installando il kernel.

locale-gen en_US.UTF-8
dpkg-reconfigure locale
dpkg-reconfigure keyboard-configuration
localedef -i en_US -c -f UTF-8 en_US.UTF-8

apt-get install linux-image-generic

Mentre questa installazione GRUBti chiede per quale dispositivo installare. vedrai una selezione come questa:

[ ]/dev/sda [NotThisOne, this is your HDD]
[ ]/dev/sdb (31474 MB; ???)
[ ]/dev/sdb1 (30398 MB; /)

Scegli /dev/sdb1e /dev/sdbspostandoti nel rispettivo campo usando i tasti freccia e premendo, spaceinfine premi il tasto invio. Ora dopo aver completato questa installazione puoi installare il tuo editor preferito, lo faccio qui come esempio nanoe vim:

apt-get install nano vim

Ora puoi modificare il tuo /etc/fstabfile, per questo prima ottieni un elenco degli UUIDS nel tuo sistema:

blkid

Questo dovrebbe darti un output come questo:

/dev/sda1: UUID="8f8f130f-e127-43b6-b797-8bfa3f1e1631" TYPE="ext4" PARTUUID="06bd4abe-01"
/dev/sda5: UUID="8469c58b-b2bb-4551-b47d-c1a7d21e9ebd" TYPE="swap" PARTUUID="06bd4abe-05"
/dev/sdb1: UUID="b08ab271-5619-479c-aa21-8aea7f4e6f3b" TYPE="ext4" PARTUUID="5872a1f8-01"
/dev/sdb2: UUID="c3309cee-731e-4030-93b9-f1d88c12c806" TYPE="swap" PARTUUID="5872a1f8-02"

Per una modifica più semplice puoi copiare l'output dal terminale selezionandolo con il mouse e premendo ctrl+ shift+ c, quindi apri il tuo editor preferito digitando (ho scelto nano qui per esempio):

nano /etc/fstab

Puoi incollare le righe dopo aver cancellato il contenuto dei file premendo ctrl+ shift+ c. Ora elimina le linee contrassegnate con /dev/sdacui è molto probabile il tuo HDD e cambia le altre due linee in modo che alla fine assomiglino a questo:

UUID=18055918-6045-42e9-9492-66e3fd29c199 swap swap defaults 0 0
UUID=69b5fb9c-774d-4d35-82f2-6a17faa446a1 / ext4 defaults 0 1

Quindi premi ctrl+ xper terminare la modifica, scegli ydi salvare e premereenter

Come prossimo devi riempire il tuo /etc/apt/sources.list, puoi farlo con copia e incolla il seguente blocco sul tuo terminale e premere enteruna volta.

cat > /etc/apt/sources.list << "EOF"
deb http://archive.ubuntu.com/ubuntu/ xenial main restricted
deb http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted
deb http://archive.ubuntu.com/ubuntu/ xenial universe
deb http://archive.ubuntu.com/ubuntu/ xenial-updates universe
deb http://archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://archive.ubuntu.com/ubuntu/ xenial-updates multiverse
deb http://archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://security.ubuntu.com/ubuntu xenial-security main restricted
deb http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse
EOF

Per quanto riguarda i pacchetti di configurazione finali che devono essere installati che richiedono l'avvio di servizi tramite Upstart, questi devono essere disabilitati chroottemporaneamente:

dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl

Ora esegui un aggiornamento e puoi installare uno ubuntu-servero ubuntu-desktopentrambi entrambi, purché facciano il server prima del desktop.

apt-get update
# Comment this out if ubuntu-desktop is not wanted
apt-get install ubuntu-desktop 
# remove comment if ubuntu-server is wanted
# apt-get install ubuntu-server

e infine aggiungi il tuo utente e inseriscilo nei gruppi appropriati:

adduser --home /home/<username> <username>

usermod -aG adm,cdrom,sudo,dip,plugdev,lpadmin,sambashare <username>

Dove puoi lasciare fuori sambashare se ti dà errori. Verifica se le impostazioni del gruppo sono corrette:

less /etc/group

Dovresti vedere per ogni gruppo elencato nel usermodcomando sopra e la voce in questo modo (esempio sudo):

sudo:x:27:<username>

In caso contrario, aggiungere i gruppi uno per uno con il usermodcomando sopra . Ora è il momento di installare forse driver e strumenti utili, ne elenchiamo solo alcuni per i casi necessari.

apt-get ecryptfs-utils testdisk schroot

Per fare in modo che GRUB riconosca il tuo stick solo come sistema operativo e non aggiungendo il sistema su cui hai creato lo stick fai:

echo 'GRUB_DISABLE_OS_PROBER="true"' >> /etc/default/grub
update-grub

Completare l'installazione tramite:

rm /sbin/initctl
dpkg-divert --local --rename --remove /sbin/initctl

Ora puoi riavviare sul tuo USB e avere un sistema Ubuntu completamente installato con cui lavorare. Se riscontri il problema di non poter avviare il terminale che sembra essere correlato a un bug gnome-terminal, puoi controllare in TTY ( ctrl+ alt+ f1e accedere con il tuo nome utente e password) il contenuto di /var/log/syslogse contiene righe come questa:

May 7 22:30:00 NEXUS-TWO org.gnome.Terminal[1432]: Non UTF-8 locale (ISO-8859-1) is not supported!

Per risolvere questo problema, sembra essere sufficiente eseguire sudo dpkg-reconfigure localesall'interno di TTY e scegliere esplicitamente UTF-8. oppure imposta la lingua e così via nelle impostazioni della GUI. Successivamente riavviare.


È molto diverso da quello che fa l'installer automatico (ubiquità?)? Non sono sicuro che l'OP stia usando correttamente il termine " live " ...
Xen2050,

Non lo so ubiquityancora, questa risposta è il risultato di una lunga conversazione in chat con l'OP.
Videonauth,

Il programma di installazione di Ubuntu predefinito, penso sia ancora Ubuquity
Xen2050,

1
dovrebbe funzionare anche se
Videonauth il

@Videonauth Per favore, vedi il corpo. Alcuni nuovi casi trovati. Come dovrebbe /etc/hostnamee /etc/hostsimpostare? - - Hanno iniziato a fallire nel mio sistema dopo qualche tempo, e ora dentro (inittramfs).
Léo Léopold Hertz

5

Ecco alcuni dettagli (Qualcun altro dovrebbe scrivere una recensione più indipendente su pro e contro.)

  • Clonazione: dd è uno strumento molto potente ma anche molto pericoloso, spesso soprannominato "distruttore di dischi" o "distruttore di dati". dd viene utilizzato per clonare un file iso su una chiavetta USB. Quando si creano unità di avvio USB solo live, mkusb "avvolge una cintura di sicurezza attorno a dd". Questo metodo funziona per tutti i file iso ibridi e la maggior parte delle distro linux moderne forniscono questo tipo di file iso. Il nuovo Ubuntu Startup Disk Creator in 16.04 LTS usa anche il metodo di clonazione.

  • Molti altri strumenti estraggono il contenuto del file iso in una partizione FAT32, ad esempio Rufus e Unetbootin . (Rufus ha anche una ddmodalità di clonazione .)

  • mkusb è uno strumento linux . Non funziona in Windows.

  • mkusb è uno script bash , che utilizza diversi strumenti standard, disponibili nella maggior parte delle distribuzioni Linux. mkusb utilizza zenity per un'interfaccia utente grafica quando disponibile.

  • mkusb-nox (No X) funziona in modalità testo , ad esempio in Ubuntu Server. mkusb-dus (alias mkusb versione 12) può funzionare anche in modalità testo con menu in modalità finestra di dialogo o con un'interfaccia di testo semplice.

  • Alcuni degli altri strumenti sono costituiti da codice compilato .

  • mkusb può creare sistemi live persistenti per Debian e Ubuntu . Questi sistemi vengono avviati tramite grub2 e il file iso viene clonato in una partizione separata. Una partizione di Casper-RW verrà creato per la persistenza e di una partizione di usbdata verrà creata per l'archiviazione dei dati e la condivisione dei dati con computer che eseguono Windows. Questi sistemi live persistenti possono essere avviati in modalità UEFI e BIOS.

  • mkusb-nox e mkusb-dus (alias versione 12) possono creare un programma di installazione USB per Windows 7-10 tramite estrazione. Utilizza il pacchetto grub-pc per installare grub2, il che rende l'avvio USB pendrive in modalità BIOS. Questo sistema può essere avviato in modalità UEFI e BIOS.

  • mkusb non crea unità USB multi-boot. Esistono altri strumenti a tale scopo.

  • mkusb può anche cancellare i dati confusi e / o ripristinare un'unità di avvio USB su un dispositivo di archiviazione standard con una tabella delle partizioni MSDOS e un file system FAT32.

Vedi i seguenti link se vuoi maggiori dettagli,


Sarebbe bello avere più informazioni sui limiti di mkusb.
Léo Léopold Hertz

1
Si prega di chiedere e io risponderò. O meglio, provalo e chiedi se qualcosa non funziona :-)
sudodus

4

Wow, che sembra complesso, mkusb può eseguire un'installazione di Live Persistent molto più velocemente di quanto possa leggere una delle procedure sopra. Sembrano anche installazioni complete non installazioni permanenti live. Un'installazione persistente utilizza un file o una partizione casper-rw. Si chiama installazione persistente perché la parola persistente nel file di avvio viene utilizzata per attivare la persistenza.

Vedi: https://help.ubuntu.com/community/mkusb per i dettagli di mkusb .

Anche un'unità USB creata con mkusb non ha problemi a eseguire un'installazione completa su HDD o USB.


Sembra essere supportato anche in Debian.
Léo Léopold Hertz 준영 1o16

Funziona anche facendo una buona base per Puppy Tahr tra gli altri O / S
CSCameron

Sarebbe bello avere una recensione sulle differenze relative allo strumento con l'altro metodo. Pro e contro.
Léo Léopold Hertz 준영 1o16

Una buona guida per creare pendrive persistenti usando mkusb: askubuntu.com/questions/772744/…
CSCameron,

In questa pagina c'è una guida di installazione rapida a cura del creatore di mkusb Sudodus. Nota che mkusb si sta evolvendo rapidamente ed è attualmente alla versione 11.1.9. Potrebbe anche essere un fork di un programma di installazione più diretto chiamato dus.
CSCameron,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.