Como o Ubuntu roda sem o arquivo Wubi Root?

1

Isso é loucura, eu sei, meu experimento recente me deu uma experiência inesquecível, eu costumo usar o ubuntu como uma instalação do Wubi porque é fácil fazer backup do meu sistema 10.10 e tentar novas versões sem problemas.

Então depois que eu iniciei o ubuntu 10.10 Eu posso renomear, mover ou até mesmo apagar meu arquivo raiz no diretório / Host / ubuntu / disks, Então eu usei para inicializar meu sistema 11.10 diretamente renomeando o arquivo raiz atual 10.10 e copiando o arquivo raiz 11.10 para o mesmo diretório,

Como isso é possível, o ubuntu roda completamente no Ram? ou existe um arquivo raiz em cache em outro lugar? Estou confuso,

Eu acho que posso até mesmo remover meu disco rígido quando o Ubuntu estiver rodando (Se o disco swap não estiver incluído no mesmo disco), mas nas janelas, é um sonho !!!, como isso é possível?

    
por Prasad RD 16.03.2012 / 02:35

1 resposta

1

Uma instalação do Wubi faz uso de montagens de loopback . Essencialmente, ele monta seu sistema de arquivos do Windows e, em seguida, trata um arquivo dentro desse sistema de arquivos (seu arquivo raiz) como um dispositivo de bloco. Isso basicamente significa que, em vez de ler os blocos do sistema de arquivos diretamente de uma partição, ele analisa o layout do arquivo no outro sistema de arquivos para localizar cada bloco individual. Não está executando o sistema fora da memória RAM.

Em seguida, ele realiza alguns exercícios de ginástica para fazer com que o sistema de arquivos montado em loopback apareça como raiz, e o sistema de arquivos do Windows aparece em algum lugar abaixo da raiz.

Como regra geral, você não deve modificar o arquivo de backup para uma montagem de loopback, pois pode confundir o driver do sistema de arquivos que está se referindo a esse arquivo. Parece que as ações que você tomou não foram suficientes para causar esses problemas.

Em sistemas UNIX, uma vez que você abre um arquivo para acesso, ainda é possível lê-lo sem causar problemas. Considere o seguinte exemplo de Python:

import os

with open('oldname', 'w') as fp:
    fp.write('content')
with open('oldname', 'r') as fp:
    os.rename('oldname', 'newname')
    print(fp.read())

Assim como o sistema de arquivos montado em loopback, ainda podemos ler o conteúdo depois de mover o arquivo. Podemos ver um efeito semelhante ao remover um arquivo:

with open('newname', 'r') as fp:
    os.remove('newname')
    print(fp.read())

Enquanto o nome do arquivo é removido, o conteúdo real permanece até que o último descritor de arquivo aberto seja fechado. A montagem de loopback pode ser considerada como um descritor de arquivo para esses propósitos.

Também é improvável que copiar o arquivo confunda a montagem de loopback (já que está apenas lendo o original), mas não é necessariamente uma boa maneira de realizar um backup. Demora um tempo para ler um arquivo grande, então, quando você chegar ao final do arquivo, o início pode ter sido modificado. Portanto, se você tentar usar o arquivo copiado como uma imagem de disco, ele poderá parecer estar corrompido (embora essa corrupção possa ser corrigida com uma verificação do sistema de arquivos).

Se você quiser fazer backup de seu sistema, sugiro usar a ferramenta de backup incluída no Ubuntu, ou inicializar o Windows e copiar a imagem do disco (já que o Ubuntu não está em execução, não há chance de a imagem do disco mudar enquanto você copia).

    
por James Henstridge 16.03.2012 / 06:17