WindUSB-GUI Em Rust

WindUSB-GUI :rocket:

WindUSB-GUI é uma ferramenta gráfica, baseada em Rust, para criar instaladores USB inicializáveis do Windows no Linux. É uma interface GTK4/Libadwaita baseada no script bash WindUSB CLI original.

Esta ferramenta gerencia o particionamento, a formatação (FAT32) e a divisão automática de arquivos install.wim grandes para garantir a compatibilidade com UEFI.

:hammer_and_wrench: Requisitos para Compilação

Se você estiver compilando a partir do código-fonte no Arch Linux, você precisará de:

  1. Ferramentas do Sistema:
sudo pacman -S gptfdisk wimlib rsync dosfstools util-linux rust

  1. AppImage Tool:
    Você deve baixar o appimagetool-x86_64.appimage e colocá-lo na raiz do diretório deste projeto.
    :backhand_index_pointing_right: Baixe aqui

:rocket: Como Compilar e Empacotar

Disponibilizamos um script de compilação inteligente (build.sh) que automatiza a compilação do código Rust e a coleta de todas as dependências de biblioteca necessárias.

  1. Clonar o repositório:
git clone https://github.com/SeuUsuario/WindUSB-GUI.git
cd WindUSB-GUI

  1. Definir permissões:
chmod +x appimagetool-x86_64.appimage build.sh

  1. Executar a compilação:
./build.sh

  • Primeira Execução: O script coletará todas as bibliotecas .so e ferramentas (sgdisk, wimlib) do seu sistema para dentro do WindUSB.AppDir.
  • Execuções Subsequentes: O script perguntará se você deseja re-empacotar. Se você alterou apenas o código Rust, pode pular o re-empacotamento para economizar tempo!

:warning: Status Atual

  • Testado em: Arch Linux e Linux Mint.
  • Portabilidade: O AppImage foi projetado para incluir suas próprias dependências para rodar em outras distribuições (Debian, Fedora, openSUSE), mas atualmente está em desenvolvimento ativo.

:package: Download

Verifique a seção de Releases para baixar o WindUSB-x86_64.AppImage pré-compilado mais recente.

:balance_scale: Licença

Este projeto está sob a licença GNU General Public License v3.0.

2 curtidas

Que massa! talvez adicionar um aviso de aguarde a finalização do processo seria interessante, vi que na hora de fazer o split da imagem ele pode levar um tempo consideravel, entao talvez seria interessante.


Valeu pela dica já esta resolvido!

Quando tiver um projeto que eu possa participar adoraria! Né que seja testar compilar e rodar esse aí em mais distros pra ti. Nesse momento do desenvolvendo um desktop environment baseado em electron, kkkkk não publico ainda pq tá bem embrionário, e não deixa de ser só um projetinho pra aprendizado!

Tive problemas com a versão do rust. Por padrão, o repositório do Ubuntu 24.04 LTS utiliza a v1.75. O cargo requerido necessita da versão 1.82 do rust. Vou tentar reinstalar o rust manualmente para uma versão mais recente. Reporto caso haja conflito com outros pacotes da 24.04. Obg @sparrow .

Vc esta tentando compilar no ubuntu ou so rodar o appimage? Aqui no meu teste o appimage que subi para o github funcionou sem instalar nada no ubuntu 24.04.3 testei no fedora e linux mint 22.2 e debian 13
O unico q me deu problema foi o debian mas instalando o rust e uma caralhada de dependecias funcionou tmb.

Obrigado Bro qualquer ajuda é bem vinda!

Mostra aqui no forum quando tiver funcionando fiquei curioso :thinking:

Estou tentando compilar no Kubuntu 24.04 LTS. Recebo a seguinte msg:

Expliquei p vc do jeito que entendi, mas posso estar errado tb rsrsrsrs

Entendi, para compilar no ubuntu 22.04 precisa instalar as dependencias e atualizar
tipo não aconselho fazer isso na sua maquina principal, usa uma vm pq atualizar essas coisas
pode dar ruim então melhor fazer tudo numa vm e não danificar seu sistema principal se algo der errado.

sudo apt update && sudo apt install -y build-essential pkg-config libssl-dev libgtk-4-dev libadwaita-1-dev libgraphene-1.0-dev libgtk-3-dev libglib2.0-dev libpango1.0-dev libatk1.0-dev libcairo2-dev libgdk-pixbuf-2.0-dev libsoup-3.0-dev libwebkit2gtk-4.1-dev gdisk wimtools libwim-dev curl && curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh -s – -y && source $HOME/.cargo/env && rustup default stable && rustup update

Obg o suporte @sparrow . Não vou fazer isso realmente. Pode haver problemas depois.

Dei uma melhorada no visual e na barra de progresso.