Como você * marca * uma partição como ext4?

3

Eu tenho uma partição ext3, então quando faço isso:

mount /dev/blah /mnt/blah

é montado automaticamente como ext3. Eu posso obtê-lo para montar como ext4 executando

mount -t ext4 /dev/blah /mnt/blah

e funciona. Presumo que a partição seja de alguma forma marcada como sendo ext3. É possível mudar isso para o ext4 de modo que:

mount /dev/blah /mnt/blah

irá montá-lo como ext4. Isto é para uma experiência. Eu quero fazer isso sem habilitar os novos recursos do ext4 para que eu possa voltar ao ext3.

    
por pupeno 27.02.2013 / 16:43

3 respostas

3

Se no momento da criação o sistema de arquivos não usou ou desabilitou explicitamente as extensões ext4 (como uninit_bg e flex_bg ), o sistema de arquivos será na verdade ext3 (se tiver diário) ou ext2 (se tiver não recursos ext3 ou ext4).

Você pode ativar os recursos do ext4 com tune2fs -O .

página man do ext4:

If the -O option is used to explicitly add or remove filesystem options that should be set in the newly created filesystem, the resulting filesystem may not be supported by the requested fs-type. (e.g., "mke2fs -t ext3 -O extents /dev/sdXX" will create a filesystem that is not supported by the ext3 implementation as found in the Linux kernel; and "mke2fs -t ext3 -O ^has_journal /dev/hdXX" will create a filesystem that does not have a journal and hence will not be supported by the ext3 filesystem code in the Linux kernel.)

página do manual tune2fs:

-O [^]feature[,...]-O [^]feature[,...]

Enabling certain filesystem features may prevent the filesystem from being mounted by kernels which do not support those features. In particular the uninit_bg and flex_bg features are only supported by the ext4 filesystem.

    
por 27.02.2013 / 17:24
0

man mount :

If no -t option is given, or if the auto type is specified, mount will try to guess the desired type. Mount uses the blkid library for guessing the filesystem type; if that does not turn up anything that looks familiar, mount will try to read the file /etc/filesystems, or, if that does not exist, /proc/filesystems. All of the filesystem types listed there will be tried, except for those that are labeled "nodev" (e.g., devpts, proc and nfs). If /etc/filesystems ends in a line with a single * only, mount will read /proc/filesystems afterwards.

# mount -V
mount from util-linux-ng 2.17.2 (with libblkid and selinux support)

Além do blk_id :

# blkid -o value -s TYPE /dev/sdb1
ext4

existem algumas outras maneiras de determinar o sistema de arquivos de uma partição desmontada:

# file -s /dev/sdb1 
/dev/sdb1: Linux rev 1.0 ext4 filesystem data (extents) (large files) (huge files)

# fsck -N /dev/sdb1
fsck from util-linux-ng 2.17.2
[/sbin/fsck.ext4 (1) -- /dev/sdb1] fsck.ext4 /dev/sdb1 

# parted /dev/sdb1 print
Model: Unknown (unknown)
Disk /dev/sdb1: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: loop

Number  Start  End    Size   File system  Flags
 1      0.00B  107GB  107GB  ext4
    
por 27.02.2013 / 17:39
-2

mount /dev/blah /mnt/blah funciona apenas com uma entrada fstab, não é? Então mude a entrada fstab para ext4 e pronto.

O que você provavelmente quer dizer é o comportamento de

mount -t auto /dev/blah /mnt/blah

Eu não sei onde a ordem em que o ext3 e o ext4 são verificados está definida. Eu acredito que não há nenhuma marca no próprio FS: "Prefere ser montado como ext4". Algo semelhante a uma marca são recursos ext4 não compatíveis com versões anteriores que são definidos no superbloco. Isso evitaria que o FS fosse montado como ext3, mas não é isso que você quer.

    
por 27.02.2013 / 17:01

Tags