Home Homebrew Rilasciato UFS2Tool v2.0: il tool definitivo per gestire filesystem UFS1/UFS2 su Windows

Rilasciato UFS2Tool v2.0: il tool definitivo per gestire filesystem UFS1/UFS2 su Windows

173
0

Il developer SvenGDK ha dato vita ad uno strumento capace di rivoluzionare il modo in cui si gestiscono i filesystem UFS1 e UFS2 su PC Windows.

Con il rilascio della versione 2.0 di UFS2Tool, il progetto open-source compie un salto di qualità importante e si afferma come una delle soluzioni più complete per lavorare con immagini UFS senza dover ricorrere a Linux, FreeBSD o ambienti virtualizzati.

Scritto in C# e basato su .NET 8.0, UFS2Tool è un’applicazione da riga di comando che replica in maniera quasi totale le utility classiche di FreeBSD dedicate al filesystem UFS.

Questo significa poter creare nuovi filesystem da zero, espandere immagini esistenti, verificarne l’integrità, correggere errori, estrarre o sostituire file e cartelle e perfino montare un’immagine UFS come se fosse una normale unità disco di Windows.

Il tutto avviene in modo diretto, senza configurazioni complesse e con una compatibilità reale con gli standard FreeBSD.

Uno degli aspetti più interessanti della versione 2.0 è l’implementazione completa del comando newfs, con supporto alla quasi totalità dei flag disponibili in ambiente FreeBSD.

Questo permette di personalizzare in modo molto preciso la creazione del filesystem. A questo si aggiunge il comando makefs, che consente di generare immagini UFS direttamente da una cartella, funzione particolarmente utile per chi deve costruire immagini partendo da contenuti già organizzati.

La gestione dei permessi è stata migliorata con impostazioni predefinite più coerenti con l’ambiente Unix, sono stati introdotti test automatici tramite xUnit per aumentare la stabilità del codice e la documentazione interna è stata resa più chiara e strutturata.

Completano l’aggiornamento diverse ottimizzazioni e correzioni minori che rendono il tool più affidabile.

Il motivo per cui UFS2Tool sta attirando grande attenzione nella community è legato soprattutto alla scena PS5. Il formato ffpkg, utilizzato per backup e installazioni in ambiente jailbroken, si basa proprio su immagini UFS2.

Grazie a questo strumento è possibile creare immagini compatibili con ShadowMount partendo da una semplice cartella, estrarre contenuti da un backup PS5, modificare file interni senza dover ricreare l’intera immagine e persino espandere partizioni quando lo spazio disponibile non è più sufficiente.

Inoltre, la possibilità di verificare l’integrità del filesystem con strumenti equivalenti a fsck_ufs rende il lavoro molto più sicuro e controllato.

La funzione di mount, resa possibile tramite il driver Dokan, consente di montare un’immagine UFS come un drive di Windows in modalità lettura o lettura-scrittura.

In pratica, si può esplorare e modificare il contenuto come se fosse un normale disco collegato al PC. Per utilizzare tutte le funzionalità sono necessari .NET 8.0 o superiore e la Dokan Library, mentre per operare su dischi fisici servono privilegi di amministratore.

Le immagini create risultano pienamente compatibili con FreeBSD e possono essere montate anche su quel sistema con il classico comando mount -t ufs, a conferma dell’aderenza tecnica del progetto.

Caratteristiche

  • Creazione di filesystem UFS1 e UFS2 su file immagine o dispositivi raw di Windows.
  • Piena compatibilità con newfs(8) — supporta tutti i flag standard di FreeBSD newfs (eccetto -T, -k, -r).
  • Popolamento da directory — creazione di immagini a partire dal contenuto di una cartella con dimensionamento automatico (-D).
  • Comando makefs — interfaccia compatibile con makefs(8) di FreeBSD per creare immagini filesystem da alberi di directory.
  • Comando growfs — interfaccia compatibile con growfs(8) di FreeBSD per espandere immagini filesystem esistenti.
  • Comando fsck_ufs — controllo di coerenza del filesystem compatibile con fsck_ffs(8)/fsck_ufs(8) di FreeBSD.
  • Estrazione di file da immagini filesystem UFS1/UFS2 esistenti.
  • Sostituzione di file in immagini filesystem UFS1/UFS2 esistenti (file singolo o intero albero di directory).
  • Aggiunta di file a immagini filesystem UFS1/UFS2 esistenti (file singolo o albero di directory, in modo ricorsivo).
  • Eliminazione di file da immagini filesystem UFS1/UFS2 esistenti (file singolo o albero di directory, in modo ricorsivo).
  • Montaggio di immagini UFS come unità Windows con supporto lettura e scrittura tramite Dokan.
  • Lettura e ispezione di immagini filesystem UFS1/UFS2 esistenti.
  • Elenco del contenuto delle directory da immagini UFS1/UFS2.
  • Device I/O — scrittura diretta su unità fisiche e volumi in Windows.

Comandi

newfs — Crea un nuovo file system UFS1/UFS2


ufs2tool newfs [-EJNUjlnt] [-D input-directory] [-L volname] [-O format] [-S sector-size]
               [-a maxcontig] [-b block-size] [-c blocks-per-cg]
               [-d max-extent-size] [-e maxbpg] [-f frag-size]
               [-g avgfilesize] [-h avgfpdir] [-i bytes-per-inode]
               [-m free-space%] [-o optimization] [-p partition]
               [-s size]  [size-MB] [volume-name]

Flag booleani

FlagDescrizione
-ECancella (zero) il dispositivo prima di creare il file system.
-JAbilita il provider gjournal.
-NEsecuzione di prova: visualizza i parametri senza creare il file system.
-UAbilita aggiornamenti software.
-jAbilita il journaling degli aggiornamenti software (implica -U).
-lAbilita il supporto MAC multietichetta
-nNon creare la directory .snap.
-tAbilita il flag TRIM/DISCARD nel superblocco.

Opzioni con valori

OpzioneDescrizionePredefinito
-D directoryDirectory di input: popola l'immagine con il contenuto della directory. Dimensione calcolata automaticamente come dir_size × 1,2 + 10 MB. Vengono copiati tutti i file, inclusi quelli nascosti.
-L volnameEtichetta del volume (max 32 caratteri)
-O formatFormato del file system: 1 (UFS1) o 2 (UFS2)2
-S sector-sizeDimensione del settore in byte512
-a maxcontigNumero massimo di blocchi contiguiauto
-b block-sizeDimensione del blocco (4096–65536, potenza di 2)32768
-c blocks-per-cgBlocchi per gruppo cilindriauto
-d max-extentDimensione massima dell'estensioneauto
-e maxbpgNumero massimo di blocchi per file in un gruppo di cilindriauto
-f frag-sizeDimensione del frammento (≥512, potenza di 2)4096
-g avgfilesizeDimensione media prevista del file16384
-h avgfpdirNumero medio di file previsto per directory64
-i bytes/inodeDensità di inode (byte per inode)auto
-m free-spacePercentuale minima di spazio libero8
-o optimizationtime o spacetime
-p partitionEtichetta di partizione (informativa)
-s sizeDimensione del file system in settori da 512 byteauto

info — Mostra le informazioni del filesystem

ufs2tool info <percorso-immagine>

makefs — Crea un’immagine filesystem a partire da un albero di directory

  • Compatibile con makefs(8) di FreeBSD — consente di creare un’immagine filesystem da una directory senza richiedere dispositivi speciali o privilegi elevati

ufs2tool makefs [-DxZ] [-B endian] [-b blocchi-liberi] [-f file-liberi]
                [-M dimensione-minima] [-m dimensione-massima] [-o opzioni-fs]
                [-S dimensione-settore] [-s dimensione-immagine] [-T timestamp]
                [-t tipo-fs] file-immagine directory

Opzioni specifiche FFS (-o key=value,...)

OpzioneDescrizionePredefinito
versionVersione UFS: 1 per FFS, 2 per UFS21
bsizeDimensione del blocco32768
fsizeDimensione del frammento4096
labelEtichetta del volume (max 32 caratteri)
softupdates0 per disabilitare, 1 per abilitare0
densityByte per inodeauto
minfreeMinimo % free8
optimizationtime o spacetime
avgfilesizeDimensione media prevista del file16384
avgfpdirFile previsti per directory64
maxbpgNumero massimo di blocchi per file in CGauto
extentDimensione massima dell'estensioneauto
maxbpcgNumero massimo di blocchi totali in CGauto

Suffix dei valori di dimensione: b (×512), k (×1024), m (×1M), g (×1G), t (×1T), w (×4). È possibile usare moltiplicazioni con x: ad esempio 512x1024 = 524288.

growfs — Espande un filesystem esistente

ufs2tool growfs [-Ny] [-s dimensione] <percorso-immagine>

Espande un’immagine filesystem UFS1/UFS2 esistente. Equivalente al comando growfs(8) di FreeBSD.

OpzioneDescrizione
-NModalità di test: stampa i parametri senza modificare il file system
-yDai per scontato di sì a tutte le richieste
-s sizeNuova dimensione del file system (predefinita: dimensione del file immagine). Suffissi: b (byte), k (KB), m (MB), g (GB), t (TB). Senza suffisso: settori da 512 byte

Nota: Sono disponibili ulteriori comandi e funzionalità direttamente all’interno della repository ufficiale del progetto.

Changelog

Nuove utility UFS FreeBSD integrate

  • growfs
    • L’utility growfs consente di espandere un filesystem UFS.
  • tunefs
    • L’utility tunefs è progettata per modificare i parametri dinamici di un filesystem UFS che influenzano le politiche di allocazione e layout.
  • fsck_ufs
    • L’utility fsck_ufs viene utilizzata per verificare e riparare la struttura di un filesystem UFS.
  • mount_udf / unmount_udf
    • Permette di montare immagini filesystem UFS1/UFS2 come lettere di unità Windows utilizzando il driver filesystem in modalità utente Dokan, modellato sui comandi FreeBSD mount_udf(8) / mount(8).
    • Richiede il driver Dokan preinstallato sul sistema Windows.

Nuove operazioni sulle immagini UFS

  • extract
    • Estrae contenuti da immagini filesystem UFS1/UFS2 — intero filesystem, singolo file o singola directory (in modo ricorsivo).
  • replace
    • Sostituisce file o directory all’interno di immagini filesystem UFS1/UFS2.
  • add / delete
    • Aggiunge un singolo file o una directory in modo ricorsivo ed elimina un singolo file o una directory in modo ricorsivo.

Download: UFS2Tool v2

Download: Source code UFS2Tool v2

Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale.

🔥 Prodotti in promozione e articoli più venduti: PS5

Vedi altri prodotti PS5

Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.

Ultimo aggiornamento 2026-03-12 / Link di affiliazione / Immagini da Amazon Product Advertising API