Aumentando minha partição estendida para a esquerda

2

Eu tenho o seguinte hdd

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Disk identifier: 0xfa6bd800
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      821247      409600    7  HPFS/NTFS/exFAT
/dev/sda2          821248   210991103   105084928    7  HPFS/NTFS/exFAT
/dev/sda3       210991104   317941759    53475328   83  Linux
/dev/sda4       420343806   625141759   102398977    5  Extended
/dev/sda5       435689472   507955096    36132812+  83  Linux
/dev/sda6       507955200   566546431    29295616   83  Linux
/dev/sda7       566548480   625141759    29296640   83  Linux
/dev/sda8       420345856   435687423     7670784   82  Linux swap / Solaris

Recuperei recentemente uma partição do Windows. Eu quero estender minha 'partição estendida' / dev / sda4 para a esquerda para usar o espaço não alocado. você pode ver que / dev / sda4 pode ser estendido de 420343806 para 317941760 (final de / dev / sda3). Eu tentei isso de gparted e falhou.

GParted 0.12.1 --enable-libparted-dmraid

Libparted 2.3
Move /dev/sda4 to the left and grow it from 97.66 GiB to 126.95 GiB  00:00:00    ( ERROR )

calibrate /dev/sda4  00:00:00    ( SUCCESS )

path: /dev/sda4
start: 420,343,806
end: 625,141,759
size: 204,797,954 (97.66 GiB)
move partition to the left and grow it from 97.66 GiB to 126.95 GiB  00:00:00    ( ERROR )

old start: 420,343,806
old end: 625,141,759
old size: 204,797,954 (97.66 GiB)
requested start: 358,901,760
requested end: 625,139,711
requested size: 266,237,952 (126.95 GiB)
libparted messages    ( INFO )

Unable to satisfy all constraints on the partition.
Can't have overlapping partitions.

Estou tentando fazer a extensão da partição com o fdisk.

Acho que estas são as etapas a seguir. 1. delete / dev / sda4 2. crie uma nova partição estendida de 317941760 a 625141759. 3. resize2fs em / dev / sda4

Mas se eu fizer isso, perderei minhas partições lógicas ou dados? Ou deveria estar tomando outro caminho para alcançar o mesmo.

Alguém também pode recomendar uma fonte final para aprender sobre partições e sistemas de arquivos?

Obrigado

    
por rag 27.01.2013 / 15:08

1 resposta

4

Eu não sei se o gparted pode fazer isso. A maioria dos programas de partição excluiria sda5-x quando você excluir / recriar a partição estendida.

Você pode tentar o sfdisk.

# sfdisk -d /dev/sda > sda.original

Isso cria um dump do layout da partição da seguinte forma:

# partition table of /dev/sda
unit: sectors

/dev/sda1 : start=     2048, size=  4194304, Id= c
/dev/sda2 : start=  4198400, size=  2097152, Id=83, bootable
/dev/sda3 : start=  6297600, size= 20971520, Id=83
/dev/sda4 : start= 27271168, size=  3844096, Id= f
/dev/sda5 : start= 27273216, size=  1918976, Id=83
/dev/sda6 : start= 29194240, size=  1918976, Id=83

Crie uma cópia desse despejo e modifique-o ao seu gosto.

# cp sda.original sda.modified
# nano sda.modified

Então, no seu caso, você quer estender o / dev / sda4 de 420343806 para 317941760, você simplesmente substitui o número start = para a entrada / dev / sda4 no arquivo sda.modified.

Depois de fazer essa modificação, você pode carregá-lo:

# sfdisk /dev/sda < sda.modified

E, se houver algum problema, você pode adaptar sua edição ou reverter para o estado original:

# sfdisk /dev/sda < sda.original

É assim que você faria com o sfdisk.

No caso do parted, se o redimensionamento não funcionar, você terá que anotar os offsets e tamanhos da partição com muito cuidado, por exemplo, usando:

# parted /dev/sda unit b print free > sda.parted

Isso criaria um arquivo assim:

Model: Generic STORAGE DEVICE (scsi)
Disk /dev/sda: 15931539456B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start         End           Size          Type      File system  Flags
        32256B        1048575B      1016320B                Free Space
 1      1048576B      2148532223B   2147483648B   primary   fat32        lba
        2148532224B   2149580799B   1048576B                Free Space
 2      2149580800B   3223322623B   1073741824B   primary   ext2         boot
        3223322624B   3224371199B   1048576B                Free Space
 3      3224371200B   13961789439B  10737418240B  primary   ext2
        13961789440B  13962838015B  1048576B                Free Space
 4      13962838016B  15931015167B  1968177152B   extended               lba
 5      13963886592B  14946402303B  982515712B    logical   ext2
 6      14947450880B  15929966591B  982515712B    logical   ext2
        15929966592B  15931015167B  1048576B                Free Space
        15931015168B  15931539455B  524288B                 Free Space

Você pode escolher uma unidade diferente, como setores; Nesse caso, eu gosto de bytes, uma vez que deixa espaço zero para interpretação - dependendo da mídia, os softwares de particionamento às vezes têm opiniões divergentes quanto ao tamanho do setor e tal.

Com os mesmos tamanhos e tipos de partição conhecidos, você pode simplesmente fazer um mklabel (redefinir a tabela de partições) e recriar um novo a partir do zero, recriando as partições que deseja manter, alterando as partições que você quer mudar.

Por favor, note que nenhuma dessas opções fará qualquer coisa para modificar ou redimensionar os sistemas de arquivos em suas partições. Portanto, esta solução só é boa se você puder lidar com isso sozinho ou quiser criar uma nova partição vazia no espaço livre.

    
por 27.01.2013 / 17:54