USB ao vivo em uma unidade USB de 2 partições

33

Gostaria de saber se eu poderia ter 2 partições em uma unidade USB que me permitisse inicializar na minha chave como um disco de instalação USB normal (partition1) e outra partição para armazenamento regular no Windows / Ubuntu (partition2). Eu gostaria de ter um disco com:

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

Essa chave poderia ser inicializada E usada como uma unidade USB comum?

PS: isso é porque estou cansado de instalar / desinstalar o Ubuntu no meu drive USB toda vez que preciso resgatar um PC e não estou disposto a comprar um drive USB apenas para o disco de instalação do Ubuntu.

MrVaykadji
fonte

Respostas:

24

Sim, você pode particionar uma unidade flash USB para inicializar em uma Ubuntu Live Session e usá-la como uma unidade USB comum (acessível ao Windows) em partições separadas. Consegui fazer isso com uma unidade flash PNY USB 2.0 de 32 GB em um laptop Sony Vaio T Series Ultrabook com UEFI e Windows 8.0 instalado. Eu também testei isso no servidor Ubuntu 12.04 no meu servidor RAID5 i7-290 de 16 TB.

Particionei a unidade flash USB usando GParted nesta configuração:

Unidade flash USB de 32 GB GParted

sdh1é a partição "Armazenamento" que pode ser acessada no Windows. sdh2é a partição capaz de inicializar o Ubuntu desktop 12.04. Estes foram os meus passos:

1. Criou uma nova partição lógica de 10 GB, ntfs, com 25 MB de espaço livre anterior 
e 0 MB seguinte, denominada Armazenamento ( deve ser a primeira na unidade ) 2. Criou uma nova partição lógica de 5 GB, fat32, com 0 MB antes e depois 3. Defina um sinalizador de inicialização para a segunda partição 4. (Criou as outras partições desnecessárias) 5. Inicializado em uma Ubuntu Live Session carregada em um DVD e selecionada Experimente o Ubuntu
sem instalar no menu GRUB 6. Criador de disco de inicialização aberto com a unidade flash USB conectada 7. A
partição Ubuntu-Desktop 12.04 Image e a unidade flash USB 2.0 (/ dev / sdh2) de 5,0 GB já estavam selecionadas, moveu a quantidade de slides para armazenar documentos
e configurações no espaço extra reservado e selecionou Make Startup Disk

Sem selecionar o sinalizador de inicialização, o Criador de disco de inicialização reconheceria apenas a unidade flash inteira como /dev/sdh, em vez da segunda partição desejada /dev/sdh2.

Sem colocar a partição do Windows em primeiro lugar, o Removable Media Bit ...

"A configuração do dispositivo de mídia removível é um sinalizador contido na 
resposta Dados de consulta SCSI ao comando Consulta SCSI. O bit 7 do byte 1 (indexado de 0) é o
Bit de mídia removível (RMB). Um RMB definido como zero indica que o dispositivo não é um
dispositivo de mídia removível. Um RMB de um indica que o dispositivo é um
dispositivo de mídia removível . Os drivers obtêm essas informações usando a
solicitação StorageDeviceProperty . "

... significaria que apenas 1 partição aparece no Windows:

"P. O que é um super-disquete?

UMA.  
A mídia removível sem formatação GPT ou MBR é considerada uma "super-disquete". 
A mídia inteira é tratada como uma única partição.
O fabricante da mídia executa qualquer particionamento MBR da mídia removível. Se a
mídia tiver um MBR, apenas uma partição será suportada. Há pouca
diferença discernível pelo usuário entre mídia particionada por MBR e superfloppies.
Exemplos de mídia removível incluem unidades de disquete, cartuchos de disco JAZ,
mídia magneto-óptica, DVD-ROM e CD-ROM. As unidades de disco rígido em barramentos externos
, como SCSI ou IEEE 1394, não são consideradas removíveis. "

Aqui estão algumas ferramentas que alteram o RMB (o que é desnecessário neste caso):
Ferramenta de formato USB da Laxar
Bootice
RMPrepUSB

Estas são as abordagens de software (novamente desnecessárias neste caso):
Crie um driver dummy.sys
Use a unidade de filtro Hitachi Microdrive

Crédito:
TSJNachos117 Live USB em uma unidade USB de duas partições
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
fonte
Obrigado, vou tentar isso. Eu sei que poderia usar uma pasta dentro da mesma partição, mas isso NÃO é gracioso. Eu quero uma coisa legal, é na minha vida cotidiana e eu quero algumas aulas :) // Não para me gabar, mas também sei como usar as ferramentas de partição; o que me fez perguntar foi se eu poderia ou não inicializar com uma unidade USB particionada.
21414 MrVaykadji
Faz; Acabei de verificar para ter certeza. Porém, eu gosto da sua idéia e estou expandindo-a para criar 3 partições: Ubuntu12.04 (inicializável), Hirens (inicializável) e Armazenamento. Eu gostaria de ser elegante assim também;)
conman253
Consegui funcionar muito mais fácil do que qualquer coisa que encontrei on-line ... finalmente.
conman253
4
Existe uma razão para os 25 MB anteriores às partições? Por que 25? O tamanho difere com base no espaço total da unidade flash?
Stevendesu 27/10/2015
1
Esta publicação está obsoleta. O SDC não possui um ponteiro de persistência desde 14.04.
CSCameron
8

Eu encontrei uma maneira alternativa que é mais direta. Há duas informações importantes que você precisa entender sobre por que isso funciona. O primeiro é sobre o processo de inicialização e como o autoteste inicial de inicialização (executado pelo BIOS) procura um registro de inicialização no primeiro setor de inicialização dos dispositivos conectados. Este é um arquivo pequeno que basicamente passa o processo de execução de inicialização para o gerenciador / gerenciador de inicialização, como o GRUB2, nas instalações mais recentes do Linux. Para mais informações, leia este post muito informativo .

A segunda informação é entender que os downloads ISO para sistemas operacionais Linux foram projetados para serem instalados em um disco (CD / DVD / USB) e não em uma partição. Esses ISOs precisam ser modificados usando uma pequena ferramenta que pode ser encontrada no syslinux-utilspacote, chamada isohybrid. A modificação ISO para instalação em uma partição é feita com o --partok sinalizador . Encontrei essas informações neste post, que descreve exatamente o mesmo problema. Não tenho certeza de como a --partokmágica funciona, procurei alguma explicação, mas não consegui encontrar nenhuma.

Em resumo , aqui está o que eu fiz para obter a instalação do PureOS ao vivo para inicializar a partir de uma partição usb,

  1. Particionando meu USB usando o disco GNOME, eu inicialmente formatei o disco usando o MBR / DOS. Criei uma partição de 4 GB (FAT32) seguida por uma partição ext4 do Linux no espaço restante para meus backups.

  2. Em seguida, modifiquei o arquivo ISO que baixei para torná-lo inicializável a partir da partição. Para fazer isso, eu tive que instalar o syslinux-utilsdos repositórios, nos quais a isohydridferramenta reside:

    sudo apt-get install syslinux-utils
    

    Modifiquei o arquivo ISO com:

    isohybrid --partok pureos.ISO
    
  3. Eu costumava ddcopiar esse ISO para a partição acima. Você pode obter o dispositivo de partição nos detalhes do disco do GNOME.

    dd if=pureos.ISO of=/dev/sdb1 bs=1M
    
  4. No disco GNOME, editei a partição e verifiquei a opção inicializável , que instala o registro de livro necessário.

Agora eu era capaz de inicializar a partir da chave USB no CD ao vivo e usá-lo como uma solução de recuperação enquanto armazenava os backups do meu sistema na outra partição.

Aurovrata
fonte
Eu tentei um ano atrás para fazer isso funcionar e falhei. Obviamente eu não encontrei este post naquela época. Funciona! Eu gostaria que houvesse mais documentação - recebo um aviso sobre nem todos os BIOS poderem inicializar meu stick, o que é realmente o caso. Mas isso ainda está muito além do que eu estava antes.
Matthew
2

A resposta simples é sim, mas você pode ir mais simples!

verifique se você possui um ISO do tipo Linux que deseja na unidade e UNetbootin, disponível aqui: http://unetbootin.sourceforge.net/

Certifique-se de selecionar a instalação do disco rígido na lista suspensa e copiar todos os seus dados da unidade antes de iniciar. Você deve poder usar o restante do espaço para outros fins!

Viperfang
fonte
Não é exatamente isso que eu quero fazer, a razão pela qual desejo separar partições é ter um espaço de armazenamento limpo, sem todas as pastas do disco de instalação do ubuntu. Apenas escondê-los não funcionaria, já que eu uso o drive USB no Windows e no Ubuntu.
21414 MrVaykadji
Além disso, o Unetbootin me permitirá inicializar o live em inglês e eu quero usar meu idioma nativo.
21414 MrVaykadji
Depois que o unetbootin estiver instalado, você poderá usar um gerenciador de partições para reduzir a partição e adicionar um para seus próprios arquivos depois (o gparted faria isso perfeitamente) Quanto à mudança de idioma, você pode editar o gerenciador de inicialização para adicionar parâmetros do kernel, consulte < help.ubuntu.com/lts/installation-guide/powerpc/boot-parms.html > em relação ao debian-installer / idioma (idioma), debian-installer / country (país), debian-installer / locale (locale) para forçar o
código do
sim, mas ainda seria capaz de inicializar minha chave USB para uma sessão ao vivo?
21414 MrVaykadji
2

Transmissão ao vivo persistente

Você pode usar o mkusb para criar uma unidade ao vivo persistente. Ele criará 5 partições. Veja este link,

help.ubuntu.com/community/mkusb

  • A partição 1 tem o rótulo 'usbdata' e o sistema de arquivos NTFS, que pode ser usado pelo Ubuntu e pelo Windows para armazenar e transferir arquivos entre computadores.

  • As outras partições pertencem ao sistema ativo persistente do Ubuntu.

    Veja este link para mais detalhes,

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

    1. partition: (NTFS) usbdata para armazenamento e transferência de arquivos

    2. partição: GPT: sinalizador bios_grub para inicializar no modo BIOS; MSDOS: partição estendida

    3. partição: partição de inicialização (FAT32)

    4. partição: arquivo ISO clonado (ISO 9660)

    5. partição: (ext4) casper-rw ou live-rw ou persistence

Detalhes

Detalhes sobre as partições de e após a criação do sistema ativo persistente:

...
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 no 16.04 LTS não reconhece o sistema de arquivos iso 9660 e a imagem de inicialização do bios_grub:

insira a descrição da imagem aqui

gparted no 17.10, vendo o sistema de arquivos iso 9660 e a imagem de inicialização do bios_grub:

insira a descrição da imagem aqui

sudodus
fonte
1

Isso deve ser fácil de fazer. No entanto, seja avisado antecipadamente que o Windows poderá ver apenas a primeira partição (/ dev / sdb1), a segunda partição ficará invisível (não sei por que). Portanto, eu recomendaria que a partição de armazenamento de uso geral fosse a primeira e a partição LiveUSB fosse a segunda.

Se depois de fazer isso, você não conseguir obter a chave para inicializar, poderá definir o sinalizador de inicialização usando GParted.

Observe: embora eu tenha feito isso com sucesso antes, nunca testei fazer algo assim em um sistema baseado em UEFI, muito menos em algo que usa o Secure Boot.

TSJNachos117
fonte
Receio ter que discutir esse ponto. Eu próprio tenho uma unidade flash que utilizo como uma versão LiveUSB do Ubuntu e para armazenamento geral. Minha primeira partição é uma partição NTFS, que funciona perfeitamente no XP e 7. Minha segunda partição é uma partição FAT32, que contém uma versão ao vivo do Ubuntu. Não consigo nem ver esta partição no Windows, nem no gerenciador de disco (diskmgmt.msc). No entanto, eu posso inicializar a partir dele e ler / gravar no Ubuntu. Veja o quarto parágrafo AQUI .
TSJNachos117 23/02
Desculpas pela baixa votação. Depois de ler seu comentário, percebi que minha partição de inicialização do Ubuntu Live de teste não foi a primeira. Se você fizer uma pequena edição, darei uma votação merecida.
conman253
Que edição é essa?
TSJNachos117 27/02
O fórum não me permitirá alterar meu voto negativo até que sua resposta seja editada. Tentei apenas adicionar <p>, mas sem sorte. Você pode simplesmente removê-los.
conman253
Atualmente, o Windows 10 permite o acesso a várias partições "tipo Windows FS". Fat32, NTFS, UDF.
CSCameron
1
  1. Você deseja preservar a parte principal do seu USB como armazenamento FAT32 de 14 GB
  2. Você quer parte do LiveUSB no Ext4 2GB

A seguir, o layout do seu USB:

sdb1 14GB de armazenamento Fat32 e pasta EFI
sdb2 2GB Ext4 LiveUSB

  1. Você precisa criar o punho da parte Fat32 para ser visto no Windows, pois sem muitos ajustes, o Windows monta apenas a 1ª partição do seu USB
  2. Esta partição Fat32 também mantém a pasta EFI para inicializar sua parte do LiveUSB
  3. Se você deseja a partição LiveUSB sdb2 no Ext4. Por padrão, o bootx64.efi interno do LiveUSB não inicializa uma partição Ext4. Então, eu fiz um bootx64.efi ajustado. Você acabou de copiar o arquivo para sdb1 / EFI / boot /. E ele inicializará sua parte do Ext4 LiveUSB. Todos os meus detalhes aqui https://github.com/sonvirgo/Ext4-LiveUSB
Son Nguyen
fonte
Muito interessante. Esse método permitirá o uso de uma partição casper-rw?
CSCameron
@CSCameron No entanto, com certeza. Você pode adicionar uma partição ext4 adicional para o casper-rw. Até onde isso ainda se source $prefix/x86_64-efi/grub.cfgaplica : para que o bootx64.efi possa encontrar a partição do grub. Atualize minha resposta com o Windows 10 1703+, você pode fazer várias partições em qualquer ordem. Todos são montáveis ​​sob 1703+
Son Nguyen
0

Uma solução fácil:

  1. Use o KDE Partition Manager para excluir todas as partições e criar uma 2,048partição primária em MB, FAT32.

  2. Aloque o restante do espaço livre para sua partição de dados. Se você precisar de interoperabilidade com o Windows, escolha NTFS como o sistema de arquivos, mas lembre-se de que, quando lidos do Linux, todos os arquivos com o +xatributo definido. Caso contrário, escolha ext4.

  3. Usar unetbootin para escrever a ISO (o Ubuntu 18.04 é desse tamanho, 2 GB). Não se preocupe, pois parece que ele grava apenas em /dev/sdavez de uma partição específica.

Na minha configuração, gpartednão vê as partições corretamente, enquanto o KDE Partition Manager vê. Não tenho certeza do que fazer disso.

Dan Dascalescu
fonte