Original em formato texto com marcações para conversão em HTML, processo automatizado com scripts e txt2tags.
Instalar Windows e Linux na mesma HD, dicas sobre particionamento, instalação, rotinas de backup da MBR e instalações, backup e restore da instalação completa.
Os comandos e dicas podem não atender as suas necessidades, não ser compatível com sua instalação, tente adaptar ao seu ambiente.
su -
ou inicie a linha de comando com sudo
Considere trabalhar com partição de 4GB, dá de sobra para instalações de testes, tanto Linux como Windows em FAT32 ou NTFS, facilita no backup destas partições que pode ser salvas em DVD, em outra partição do mesmo HD, ou criar imagem via rede usando dd+ssh e portanto quanto menor a partição, também menor a imagem.
Considere criar uma partição adicional em FAT32, esta partição poderá ser utilizada para diversos fins, tais como;
Utilizar para backup de ambos os sistemas, pode fazer boot por um LiveCD e compactar a instalação do Linux e salvar nesta partição, pode ser usada para salvar dados dos dois sistemas, usar como backup de dados em uma eventual reinstalação, enfim, usar como partição comum aos dois sistemas.
Utilizar toda ou parte dela em mais uma instalação Linux, neste caso deve estar vazia, em tempo de instalação poderá remove-la e recriar a partição para outra instalação Linux, com isto poderá ter seu Windows mais duas instalações Linux, onde a segunda poderá ser outra distro, versão mais nova ou simplesmente instalação da mesma distro a ser utilizada em testes.
Instalação de testes pode ser feita em partições de mais ou menos 3 a 5GB, caso a partição reservada seja maior, poderá redimensionar em tempo de instalação, diminuir a partição em FAT32 de forma que sobre o espaço necessário para fazer a nova instalação Linux.
Procure instalar qualquer versão windows em FAT32, facilita o acesso pelo Linux e permite copiar e restaurar a instalação windows mais facilmente, copiar e salvar arquivos, passar anti-vírus e outros acesso sem problemas. Linux acessa partições Win em NTFS para leitura, a gravação não é recomendada mas é possível, a gravação requer pacotes e configurações especiais, em FAT32 tudo fica mais fácil, a maioria das distros já detecta e configura para montagem automática em tempo de instalação, tudo de forma transparente.
Neste documento, exceto o backup via "dd", os demais comandos e exemplos consideram o uso de FAT32, tem quem alega que NTFS é melhor pela segurança, não sei de que segurança se referem, acho que vai pegar vírus, spy e outras coisas ruim como se pega em FAT32, sobre o uso e acesso a partições em NTFS com direito de gravação, veja no FAQ http://www.zago.eti.br/mount-ntfs.txt
Antí-virus, não precisa no Linux, existem vários que geralmente são utilizados para passar na partição windows, download de arquivos DOS/Windows, e-mail ou nos arquivos Windows salvos na partição Linux.
Alguns comandos úteis.
Listar todas as partições de todos os HD da maquina fdisk -l
Mostrar todas as partições e discos montados, digite somente mount
Backup e mais backup antes de qualquer procedimento destrutivo ou manipular partições.
Redimensionar partição windows, antes de qualquer procedimento, no windows faça um scandisk e defrag, procure usar ferramentas do próprio Windows para diminuir o tamanho da partição, existem várias na net, excelentes e confiáveis, mas acidentes acontecem, fazendo pelo Windows, além de trabalhar em ambiente de seu conhecimento, não vai ter como culpar o Linux por qualquer acidente.
Restaurar a instalação, dentro do diretório onde está a copia, execute:
tar -zxvf arquivo.tar.gz -C /
Este comando descompacta o arquivo.tar.gz e salva no mesmo ponto de montagem utilizado na criação do mesmo, portanto precisa montar a partição no mesmo ponto de montagem que utilizou para fazer a copia, caso não tenha o ponto de montagem, ele será criado em outro local a partir do raiz e portando não salva na partição correta.
Para descobrir qual o ponto de montagem utilizado na criação do arquivo de backup .tar.gz, execute;
tar -ztvf arquivo.tar.gz | head -5
Um pouco sobre FDISK do DOS/WINDOWS e partições Windows.
Em primeiro lugar backup de tudo, acidentes acontecem, ainda mais com iniciantes!!!
Na maioria das distribuições Linux, o próprio instalador tem os recursos necessários para remover, criar, redimensionar e formatar partições, quando o auto particionamento funciona nem precisa dar comandos ou responder perguntas, geralmente tem mais de uma opção, quando um falhar tente outras opções, na maioria dos instaladores tem opção em ambiente gráfico de maneira muito prática e intuitiva.
Evite manipular partições do outro sistema, embora no Linux tenha ferramentas para criar e formatar partições FAT, não recomendo esta prática, procure criar e formatar as partições com ferramentas do próprio sistema que vai utilizar na partição, evita muitos probleminhas.
Na instalação do windows, ele sempre remove o boot loader da MBR, evite problemas e trabalho extra, faça primeiro a instalação do windows e por último a do Linux que mantém a instalação do windows intacta e já inclue automaticamente no menu do Grub a opção de boot pelo windows.
No FAQ particao.txt e hd.txt tem endereços para baixar utilitários que fazem redimensionamento de partição, criar e remover, prefira trabalhar com ferramentas do próprio sistema, já estão na mão, evita pirataria e outros probleminhas.
O ideal mesmo é fazer um bom backup e remover tudo, assim começa do zero sem problemas, principalmente para quem tem windows instalado em NTFS, aproveita pra instalar em FAT32.
Lado Windows - DOS / WINDOWS
Windows ocupando todo HD.
Instalações em FAT32 e ocupando todo o HD pode ser redimensiona na instalação do Linux, mas precisa avaliar o quanto de espaço vai destinar a cada sistema, faça boot pelo windows e execute o scandisk e defrag, faça backup externo, faça uma avaliação do espaço utilizado, considere que também se consome espaço em disco pra "swap", depois disto, veja o espaço utilizado pelo windows, a partição tem que ser um pouco maior, procure não trabalhar no limite, sempre deixe uma gordurinha, espaço sobrando para gravar novos arquivos e instalar novos programas.
Instalações em NTFS e ocupando todo o HD, procure redimensionar a partição com ferramentas do proprio windows ou especificas para windows, faça de forma que fique espaço livre em HD suficiente para instalar o Linux.
No DOS e WINDOWS tem o fdisk que não serve pra lidar com partições Linux, o máximo que se consegue com eles é remover as partições Linux e o gerenciador de boot, portanto nem tente usar o fdisk do DOS/WIN pra criar partições Linux.
O fdisk do DOS e algumas versões windows trabalham somente com FAT16, estas versões só conseguem criar partições de no máximo 2GB.
Versões do Fdisk mais recentes (a partir do win98) tem a opção de trabalhar com FAT16 ou FAT32. Para saber se trabalha com FAT32, observe ao executar o programa se a primeira tela tem um texto explicando sobre isto com uma pergunta forçando uma resposta S/N para ativar grandes capacidades. Ao responder N vai trabalhar com FAT16, caso não tenha uma boa justificativa evite esta opção. Ao responder S permite criar partições FAT32 com capacidades acima de 2 GB.
Tomemos como exemplo um HD de 20 GB e que queremos criar uma partição FAT32 de 10 GB para a instalação do Windows e deixar os outros 10 para o Linux. Faça boot por um disquete ou pelo CD do windows e execute o fdisk, responda S para trabalhar com FAT32 e proceda normalmente para criar a partição, quando perguntado se deseja utilizar todo o espaço para a partição, responda "N" e surgirá outra pergunta para definir o espaço que deseja utilizar, informe em kbyte o tamanha da partição destinada ao Windows, neste exemplo, pra criar a partição de 10 GB, basta responder 10000, depois precisa tornar esta partição ativa para fazer boot por ela, nas opções do fdisk, entre na opção 2 do fdisk, "definir partição ativa", informe a partição que acabou de criar, deverá ter somente uma e deverá ser a partição 1, vá na opção 4 no menu e veja se aparece a letra "A" abaixo de status, isto indica que a partição tornou ativa e será bootável (inicializavel pelo windows). Depois formate esta partição e faça a instalação do windows, vai reiniciar a maquina varias vezes mas não deverá em hipotese alguma, usar as ferramentas do windows na criação de partições Linux nem mexer no espaço reservado ao Linux.
Observe que não se deve criar partição do Linux com ferramentas Windows, elas são muito fraquinhas e bobinhas ou sacana, servem somente pra criar partição do windows, remover as partições Linux que serão identificadas como "não DOS", e remover o boot loader da MBR.
Portando durante a instalação do windows não crie a partição do Linux, o espaço destinado ao Linux deve ficar sem partição, na instalação do Linux, ou seja depois de instalado o windows e fizer boot pelo CD do Linux, ele detecta este espaço sem partição, o Linux usará este espaço pra criar suas partições e completar a instalação sem afetar o que já existia, ou seja a instalação do windows e de quebra coloca no menu do grub uma chamada para escolher o boot pelo windows.
LADO PARTIÇÕES LINUX.
Na instalação do Linux, em tempo de instalação é possivel redimensionar a partição do windows para um espaço menor e sobrar espaço para criar partições do Linux, cuidado para não redimensionar a partição do Windows para um tamanho muito justo ou menor que já está em uso. Windows instalado em partição NTFS tem grandes possibilidade de problemas, quando necessário o redimensionamento, utilize outras ferramentas do tipo Partion Magic, Disk Manager ou outra qualquer que faça o serviço de redimensionar partições NTFS.
Recomento usar FAT32 mesmo nas instalações do Win2000 ou XP, assim poderá ler e gravar a partir de ambos os sistemas, lembre que em partições NTFS o Linux só pode ler, a gravação até pode, além de dificil de configurar ainda é em modo experimental e portanto inseguro.
Com windows rodando, reinicie a maquina e configure no SETUP (BIOS) para fazer boot pelo CD, com o CD da distro na unidade de CDROM vai fazer o boot pelo CD e carregar o sistema do Linux, automaticamente iniciar as opções do instalador, tem algumas opções e informações que precisa fornecer, o dialogo muda conforme a distro, o principio é o mesmo em todas, criar a partição, formatar, selecionar o perfil ou pacotes, instalação dos pacotes selecionados, definir senha e configuração do sistema, tenha o cuidado de não usar opções que removam partições windows ou manipular partições NTFS.
Pode falhar o particionamento automatico, continue com a opção "particionamento manual" precisa criar duas partições, a "/" e linux-swap, ajuste o tamanho da partição "/" de maneira que sobre espaço pra linux-swap, normalmente tenho utilizado uns 200 ou 300 MB pra linux-swap e resto pra "/", caso não tenha espaço livre no HD, redimensione a partições windows para um tamanho menor, basta um clique sobre a partição windows(FAT32) depois clique em editar, informe o novo tamanho e OK, deverá aparece uma linha (free), clique sobre ela pra criar as partições Linux.
Montagem automatica da partição windows junto com boot do Linux, liberar acesso a todos os usuários da maquina, siga estes passos.
Crie um ponto de montagem em /mnt, pode ser em outro local, prefira seguir o padrão, montar todos os discos abaixo de /mnt, exemplo de comando para criar o ponto de montagem com nome de win, execute;
mkdir /mnt/win
Montagem automaticamente junto com o boot, edite /etc/fstab e coloque esta linha;
/dev/hda1 /mnt/win vfat auto,user,rw,nosuid,noexec,umask=0 0 0
O ponto de montagem indicado no /etc/fstab tem que existir, neste exemplo é /mnt/win
, pode usar ou nome para win desde que exista.
Esta alteração vale para montagem automatica no proximo boot, caso deseje montar para uso imediato, montar após a inclusão da linha acima, execute (mount -a) que efetuará todas as montagens indicadas no /etc/fstab, montará somente as que ainda não estão montadas, execute:
mount -a
Depois da configuração do windows, faça boot pelo Linux e faça um backup da instalação completa do windows na partição Linux, quando algum virus comer o windows ou precisar reinstalar, vai poupar muito tempo, basta uma simples cópia de volta para recuperar a instalação do windows, o comando df
exibe o espaço ocupado pelas partições, o espaço livre na partição Linux tem que ser maior que o ocupado pela instalação do windows.
A demora depende do espaço utilizado pela instalação e programas, quando aparecer o prompt da linha de comando a copia está terminada. Esta copia pode ser feita para qualquer sub-diretório e também fazer diversas cópias, principalmente depois de instalações de novos programas ou configurações, basta ter espaço livre no HD, lembre de dar nomes diferentes para não sobrescrever backup anteriores.
Trabalhando na maquina local, em ambiente gráfico utilize o gerenciador de arquivos para navegar pelos diretórios, no KDE use o konqueror, pode abrir dois e ajustar de forma que cada um ocupe a metade da tela, assim a copia de arquivos ou diretórios pode ser feita pelo clique e arraste do mouse, arrastar de uma janela pra outra.
Quando aparecer a linha de comando a copia está terminada, faça também a copia de volta dos dados que salvou em /home/copiadados, reinicie a maquina e selecione boot pelo windows, atualize o antivirus, update e etc...
Maquinas em rede ou com acesso à internet pode executar tudo isto remotamente via ssh, tenho adotado este procedimento com usuários que tem instalações complexas ou que precisam reinstalar o windows com muita frequencia. Para fazer isto, basta configurar o ssh para iniciar no boot e quando receber o chamado para reinstalação, peça ao usuário iniciar a maquina pelo Linux e da tua maquina voce faz uma conexão por ssh e executa todos os passos acima.
Normalmente a sequencia de instalação é Windows e depois o Linux, normalmente usa a primeira partição para Windows e portanto na partição /dev/hda1 em HD IDE, ou /dev/sda1 em HD SATA ou SCSI, ajuste para sua instalação um dos exemplos a seguir;
Backup de partição montada em /mnt/win.
cd /home/root rm -rf /mnt/win/windows/win386.swp tar -zcvf winemhda1.tar.gz /mnt/win
Backup de partição não montada - criar ponto de montagem e montar /dev/hda1 para copia.
mkdir /mnt/win mount -tvfat /dev/hda1 /mnt/win cd /home/root rm -rf /mnt/win/windows/win386.swp tar -zcvf winemhda1.tar.gz /mnt/win
Onde;
mkdir /mnt/win
-> cria o ponto de montagem em /mnt/win
mount -tvfat /dev/hda1 /mnt/win
-> monta em /mnt/win a partição /dev/hda1 com sistema de arquivos FAT
cd /home/root
-> vai para o diretório root onde salvará o arquivo, escolha outro qualquer.
rm -rf /mnt/win/windows/win386.swp
-> apaga o arquivo de swap do win98 - opcional.
tar -zcvf winemhda1.tar.gz /mnt/win
-> cria um arquivo tar com nome winemhda1.tar.gz contendo tudo que tiver dentro do ponto de montagem /mnt/win, ou seja, a instalação do windows.
Antes de restaurar uma instalação, certifique que não precisa salvar algum arquivo, documento ou alguma informação da instalação danificada, faça outro backup do que sobrou da instalação com problema, lembre de dar outro nome para não sobrepor a já existente, precisa montar a partição no mesmo ponto de montagem que utilizou para fazer a copia, considerando que a partição já está montada, siga estes passos para restaurar a instalação do windwos.
Caso deseja fazer uma copia do que sobrou, execute:
tar -zcvf winbichado-junho2005.tar.gz /mnt/win
Remova todos os arquivos da partição, não precisa formatar nem mexer nas partições, basta remover os arquivos.
rm -rf /mnt/win/*
Cuidado com o comando acima, não tem pedido de confirmação, certifique que realmente tem copia, que neste ponto de motagem está o windows que deseja apagar.
Restaurar a instalação, dentro do diretório onde está a copia, execute:
tar -zxvf winemhda1.tar.gz -C /
Este comando descompacta o arquivo (winemhda1.tar.gz) e salva no mesmo ponto de montagem utilizado na criação do mesmo, portanto precisa montar a partição no mesmo ponto de montagem que utilizou para fazer a copia, caso não tenha o ponto de montagem, ele será criado em outro local a partir do raiz e portando não salva na partição do windwos.
Para descobrir qual o ponto de montagem utilizado na criação do arquivo de backup .tar.gz, execute;
tar -ztvf win98-a7v266.tar.gz | head -5
Observe que foi trocado o x
por t
desta forma não salva, somente mostra o conteúdo, serve para ver qual o caminho a ser utilizado por -C /
, portanto a partição windows que vai receber a copia tem que estar montada no caminho apontado, neste exemplo o ponto de montagem é /mnt/win, veja o resultado do comando acima.
[zago@servsamba zago]$ tar -ztvf win98-a7v266.tar.gz | head -5 drwxr--r-- root/root 0 1969-12-31 21:00:00 mnt/win/ drwxr--r-- root/root 0 2005-08-21 03:13:20 mnt/win/win98/ -rwxr--r-- root/root 174080 1999-05-05 22:22:00 mnt/win/win98/base4.cab -rwxr--r-- root/root 1802240 1999-05-05 22:22:00 mnt/win/win98/base5.cab -rwxr--r-- root/root 188478 1999-05-05 22:22:00 mnt/win/win98/base6.cab
Pode acessar via konqueror mas evite usa-lo, dependendo do tamanho do arquivo pode demorar muito, exceto pela demora o processo é simples, um clique sobre o arquivo .tar.gz, exibe o diretório, outro clique no diretório para entrar e assim consegue navegar pelos diretórios e arquivos do arquivo compactado, navegar pelo conteúdo do arquivo empacotado, até acessar arquivos, útil para verificar no /etc/fstab quais as partições utilizadas pela instalação, pode até copiar para outro local, extrair somente um arquivo sem descompactar todo o arquivo, lembrando que é muito lento, como também dá para ver qual foi o ponto de montagem utilizado, vá clicando nos diretórios que são criados e observe as modificações na URL, cada diretório que descer é acrescentado na URL após o nome do arquivo, para o exemplo acima exibe na URL do konqueror;
tar:/home/zago/win98-a7v266.tar.gz/mnt/win
Observe o que vem depois do nome do arquivo mnt/win
, indicando o local de origem na criação do arquivo .tar.gz, para restaurar a instalação com a opção -C /
, monte o HD destino neste mesmo ponto de montagem.
Este processo acontece somente em arquivos temporarios do konqueror ou algo semelhante, os arquivos não são descompactados no disco para acesso via linha de comando, quando fechar o konqueror desaparecem todos diretórios e arquivos indicados na URL abaixo do arquivo compactado.
Outro exemplo, backup de uma instalação Linux, feita com HD na segunda IDE montada em /mnt/hd2.
[zago@servsamba zago]$ tar -ztzvf cl10lhda2-a7s.tar.gz | head -5 drwxr-xr-x root/root 0 2005-08-15 12:53:29 mnt/hd2/ drwx------ root/root 0 2005-08-15 09:01:55 mnt/hd2/lost+found/ drwxr-xr-x root/root 0 2005-08-15 12:53:43 mnt/hd2/dev/ crw------- root/root 10,10 2001-11-09 11:06:50 mnt/hd2/dev/adbmouse crw------- root/root 5,1 1999-02-23 22:47:54 mnt/hd2/dev/console
Procure indicar no nome do arquivo também o local da instalação original, facilita quando for restaurar em outro HD, caso não tenha a informação, pode descompactar o arquivo em outro diretório para acessar o /etc/fstab, ou faça pelo konqueror, mais demorado, mas possível.
Exemplos para backup e restore de HD instalado na segunda IDE somente para fazer a copia ou recuperar (backup e restore), nestes casos adoto o ponto de montagem em /mnt/hd2 para qualquer HD conectado na segunda IDE, observe que a partição /dev/hda1 passa a ser /dev/hdc1 quando conectar o HD na segunda IDE, exemplo para instalações Windows 98 instalada em /dev/hda1 e aqui conectada na segunda IDE.
Backup da instalação windows em HD na IDE2.
mkdir /mnt/hd2 mount -tvfat /dev/hdc1 /mnt/hd2 mkdir /home/backphd cd /home/backphd rm -rf /mnt/hd2/windows/win386.swp tar -zcvf winemhdc1.tar.gz /mnt/hd2
Restaurar instalação windows em HD da IDE2.
mkdir /mnt/hd2 cd /home/backphd mount -tvfat /dev/hdc1 /mnt/hd2 rm -rf /mnt/hd2/* tar -zxvf winemhdc1.tar.gz -C /
Não use dd em partições montadas, ao contrario do tar que precisa montar, por segurança, desmonte antes de fazer a copia ou recuperação, sob pena de falhar tanto na copia ou recuperação, execute o comando mount
sem paramentros para ver quais partições estão montadas, para desmontar execute umount /pontodemontagem
, exemplo para desmontar windows montado em /windows/C, execute umount /windows/C
.
Prefiro fazer pelo comando tar por ser mais rápido, versátil e ocupar menos espaço, mas acho este processo de copia com dd mais eficiente, pelo simples fato de copiar qualquer coisa, ele faz a copia física do disco, copia setor por setor do disco, prefiro dd em copias de sistemas em NTFS, faço a copia e recupero sempre no mesmo local, restaurar a copia na partição que deu origem à copia.
Inconveniente, a copia ocupa o mesmo espaço da partição, por exemplo, para copiar uma partição de 5 GB acaba ocupando também 5 GB no destino, bem mais demorado que criar uma imagem ISO ou pelo tar, demora em torno de 7 minutos para copiar partição de 5 GB em HD IDE, tem alguns transtornos quando recuperada em partições com tamanho diferente da qual fez a copia, precisa redimensionar a partição, resize deve resolver mas pode ter outras consequencias, quando recuperada na mesma partição não tem problema algum, ainda não tentei mas acho que não tem como acessar os arquivos desta copia, diferente do comando tar ou imagem ISO que pode expandir em outro local para acessar seu conteúdo.
Vantagens, faz copia de qualquer instalação independente do sistema operacional, tanto faz ser FAT, NTFS ou outros sistemas Linux, simples de fazer, basta uma linha de comando.
Quem tem HD com grande capacidade, pode criar partições customizadas para instalações de testes, estas copias ajudam muito.
Indicações, criar partição com o menor tamanho possível, não existe um regra para tamanho de partições windows, tudo depende do usuário e o que vai ser instalado, tomemos como exemplo um micro que compartilha a conexão de internet, muitas operadoras de ADSL não dão suporte ao Linux, instalar dual-boot para dar boot pelo windows quando recorrer ao suporte pode ser uma boa solução, nesta instalação não vai programas adicionais, nem deverá ser usada com frequencia, a finalidade é fazer boot para testar a conexão e voltar ao Linux imediatamente, para instalar win98 uma partição de 500MB dá de sobra, winXP não sei quanto ocupa mas não deve passar de 2GB, em testes utilizei um HD 40 GB com partição de 5GB para win e o restante para Linux, a seguir os comandos e resultados.
Fazer a copia da partição do windows em /dev/hda1, ajuste a linha de comando dos exemplos abaixo para o device em uso, use fdisk -l
para listar e identificar as partições, HD-SATA ou SCSI usam device diferente de IDE, normalmente HD SCSI usam device sda e considerando que instalou windows na primeira partição, deverá ser no device /dev/sda1 em lugar de /dev/hda1 utilizado nos exemplos a seguir aplicados em HD IDE.
dd if=/dev/hda1 of=/home/zago/aula-dd-winhda1.img
Restaurar a copia na partição de origem /dev/hda1, nem precisa apagar o que restou, simplesmente execute o comando;
dd if=/home/zago/aula-dd-winhda1.img of=/dev/hda1
Comparando o tamanho do arquivo, win98 em partição de 5GB, as duas copias abaixo são da mesma instalação;
-rw-r--r-- 1 root root 5247696384 Oct 25 03:39 aula-dd-winhda1.img -rw-r--r-- 1 root root 317605820 Oct 25 02:59 aula-win98-a7v8x.tar.gz
Compactando a imagem, pode ser depois de criada ou em tempo de criação; demora um pouco mais, em media o arquivo compactado ocupa a mentade do espaço.
Compactar durante a copia, demora bem maisssss;
dd if=/dev/hda1 | gzip > aula-dd-winhda1.img.gz
Recuperar a partir da imagem criada com dd e compactada com gzip;
cat aula-dd-winhda1.img.gz | gunzip | dd of=/dev/hda1
Resultado de alguns comandos - log -
suse10:/home/zago # dd if=/dev/hda1 | gzip > aula-dd-winhda1.img.gz 10249407+0 records in 10249407+0 records out 5247696384 bytes (5.2 GB) copied, 626.087 seconds, 8.4 MB/s suse10:/home/zago # cat aula-dd-winhda1.img.gz | gunzip | dd of=/dev/hda1 10249407+0 records in 10249407+0 records out 5247696384 bytes (5.2 GB) copied, 352.185 seconds, 14.9 MB/s
Como salvar a copia de partições em outra maquina da rede, ideal quando não tem espaço suficiente na maquina local para salvar a imagem, dd faz copia de qualquer sistema, ext3, riserfs, fat32, NTFS e etc...
Nunca use partições montadas para este tipo copia ou recuperação, quando for o caso de aplicar na única partição do disco, faça boot por um live-CD, ou conecte o HD como secundario em outra maquina, com a partição objeto da copia o recuperação desmontada, aplique os comandos, lembre que estes comandos requer ajuste para adequar ao seu ambiente, tais como partição, usuário, IP e etc...
Tenha muito cuidado, criar imagem da partição não danifica nada, pode ocorrer de não criar a imagem ou não ter o resultado esperado, recuperar instalação com "dd" vai sobrescrever todos os setores da partição, não tem mais como recuperar arquivos da instalação anterior, nem com ferramentas milagrosas para recuperação de dados, portanto faça backup do que restou antes de qualquer ação, também fique atento ao formato das imagens, se usar compactação na copia vai ter que usar também na recuperação, procure praticar em ambiente de testes, procure concentrar e entender o que está fazendo, tudo depende de voce, faça por sua conta e risco.
Cuidado para não confundir a maquina destino com a maquina local, se errar o destino poderá sobrescrever na partição da maquina local em lugar da maquina remota.
Neste tópico estou considerando o uso de HD IDE na origem, no destino não importa o tipo de HD, caso utilize HD SCSI ou Serial ATA que usa device diferente de hdaX, então altere as linhas de comando nos exemplos a seguir para o seu device em uso.
O uso de compactador é opcional, quando usar requer o pacote instalado, fique atento às mensagens de erro, principalmente quando retorna comando não encontrado, pode faltar a instalação ou não estão no path.
Não tem espaço no HD local?, então salve a copia em outra maquina da rede, tem varias opções, pode montar um compartilhamento NFS ou até mesmo windows e salvar no ponto de montagem, para isto, monte o compartilhamento e entre no diretório montado para executar o comando, considere que um ponto de montagem será tratado como um diretório local, portanto muito simples e fácil de usar, mesmo assim acho mais prático via ssh, normalmente temos este serviço já configurado e portanto não requer comandos de montagem nem configuração especial para exportar ou compartilhar diretórios, para criar a imagem em outra maquina via ssh, o formato é simples;
Sem compactar a imagem;
dd if=/dev/particao | ssh user@destino dd of=nome-da-imagem.img"
dd if=/dev/hda1 | ssh zago@192.168.1.120 dd of=copia-a7n8-xp.img
Compactar durante a copia; prefiro não usar este recurso, imagens criadas com dd tem pouco efeito na compactação.
dd if=/dev/particao | ssh user@destino "gzip -9 > nome-da-imagem.img.gz"
Exemplo para criar imagem da partição /dev/hda1 e enviar por ssh para a maquina da rede interna com IP 192.168.1.120, usuário zago, copactar e salvar com o nome copia-a7n8-xp.img.gz, a linha de comando fica assim;
dd if=/dev/hda1 | ssh zago@192.168.1.120 "gzip -9 >copia-a7n8-xp.img.gz"
Logo após o comando será solicitada a senha do usuário zago na maquina destino para salvar a imagem.
linux:~ # dd if=/dev/hda1 | ssh zago@192.168.1.120 "gzip -9 >copia-a7n8-xp.img.gz" zago@192.168.1.120's password:
Este exemplo de linha de comando, salva a imagem (copia-a7n8-xp.img.gz) na maquina remota com IP (192.168.1.120) dentro no home do usuário (zago), mesmo compactado, a copia de partição com 5GB ocupa praticamente os mesmos 5GB, a compactação de arquivos criados com "dd" não é sgnificativa, veja o resultado dos dois tipos de copia e compare o tamanho da imagem criada de uma partição de 5GB;
ls -la /home/zago -rw-r--r-- 1 zago zago 5239471104 2005-12-04 15:40 copia-a7n8-xp.img -rw-r--r-- 1 zago zago 4096168298 2005-12-04 13:13 copia-a7n8-xp.img.gz
Recuperar a instalação (restore) com a imagem em outra maquina da rede, quando acessar a imagem em compartilhamento montado, entre no diretório onde se encontra a imagem e dispare o comando, tem exemplos nos tópicos acima sobre uso em diretório local, ou via ssh, no console da maquina e no mesmo diretório onde está a imagem, execute o comando para enviar a imagem via rede (ssh), use neste formato de linha de comando;
OBS, não é recomendado o uso de root, neste exemplo precisa dos poderes de root para gravar no destino, como user comum vai dar erro de permissão, ajuste a seu modo para user comum gravar no device, em minhas instalações cofiguro o ssh na maquina onde via recuperar a instalação para aceitar conexão direta de root, observe a utilização do root nos exemplos a seguir;
Recuperar a partir de imagem sem compactação;
cat a7v8x-dd-winXPhda1.img | ssh -l root 192.168.1.192 dd of=/dev/hda1
cat a7v8x-dd-winXPhda1.img | ssh -l root 192.168.1.192 '(dd of=/dev/hda1)'
Recuperar a partir de imagem compactada com gzip
"cat copia-a7n8-xp.img.gz | gunzip" | ssh -l root 192.168.1.192 'dd of=/dev/hda1'
Procure por mais exemplos no Google, na caixa de pesquisa tente algo como; dd+ssh
Alguns endereços com exemplos;
Exemplo de backup de uma instalação com Linux e XP, copia da partição do XP em NTFS com dd e copia da partição Linux com tar, na copia da partição windows, pode fazer boot pelo Linux e desmontar a partição windows, também pode fazer boot por um Live CD, a linha de comando como exemplo;
dd if=/dev/hda1 | ssh zago@192.168.1.120 dd of=ecs741-xpntfs-hda1-5g.img
Fazer a copia da partição Linux, precisa fazer boot por outra instalação, outro HD ou por um Live CD, o que importa é montar a partição de origem da copia e não estar em uso.
Fique atento com as mensagens misturadas no console, exibe o pedido de confirmação do ssh e entra as mensagens do tar com algumas linhas dos arquivos que está compactando, mistura tudo no console acaba dando a impressão que travou, quando não pedir a senha e o cursor ficar parado após uma linha de arquivo compactado pelo tar, pode digitar yes
e depois a senha do usuário destino que continua...
Exemplo de comandos no console;
#copia da partição /dev/hda2 mkdir /mnt/hda2 mount /dev/hda2 /mnt/hda2 tar zcvf - /mnt/hda2 | ssh zago@192.168.1.120 "cat > ecs741-suse10-hda2-ext3.tar.gz" umount /mnt/hda2 #copia da partição /dev/hda3 mkdir /mnt/hda3 mount /dev/hda3 /mnt/hda3 tar zcvf - /mnt/hda3 | ssh zago@192.168.1.120 "cat > ecs741-suse10-hda3.tar.gz" umount /mnt/hda3
Restaurar, operação inversa, recuperar a instalação, o principio é o mesmo, fazer boot pelo Live CD, montar a partição que deseja recuperar, fazer backup da instalação antiga, apagar todos os arquivos e executar o comando que pega o .tar.gz remoto para descompactar no ponto de montagem; não consegui recuperar direto rodando Kurumin via CD, minha solução é fazer em duas estapas, copiar o backp para a maquina local, pode ser em qualquer partição, até mesmo Win em FAT32 ou na própria partição que irá restaurar, depois descompactar no ponto de montagem, o que importa é montar a partição destino e executar o comando no local onde salvou a copia, pode ser tudo na mesma partição, antes de iniciar a copia, salve o que for preciso da instalação anterior e depois remova tudo com o comando rm -rf /mnt/hda3/*
, não coloquei esta linha junto com as demais abaixo para evitar copia acidental, segue os comandos executados como root no konsole da maquina local;
mount /dev/hda3 /mnt/hda3 cd /mnt/hda3 # observe o ponto no final da linha abaixo, indica que vai salvar no diretório local ou indique o caminho scp zago@192.168.1.120:~/ecs741-suse10-hda3.tar.gz . tar -zxvf ecs741-suse10-hda3.tar.gz -C / umount /mnt/hda3 # pode apagar a copia local do ecs741-suse10-hda3.tar.gz, caso tenha espaço sobrando, considere manter esta copia.
Observe que a opção -C /
vai mandar os arquivos para o mesmo ponto de montagem utilizado na criação do arquivo, portanto, utilize o mesmo ponto de montagem tanto da criação como na recuperação.
Fazer o backup da MBR dd if=/dev/hda of=hda.mbr bs=512 count=1
Restaurar a MBR dd if=hda.mbr of=/dev/hda bs=512 count=1
Onde;
(hda.mbr) arquivo destino, onde salva a copia da MBR.
(/dev/hda) device do qual está fazendo a copia, o exemplo acima se aplica em HD IDE conectada na primeira IDE /dev/hda, ajuste para o device em uso na sua maquina, HD SATA que são detectados como SCSI, use sda em lugar de hda, use fdisk -l
para identificar o device, exemplo de mensagem que retorna ao fazer backup de HD SATA.
[root@cl10up root]# dd if=/dev/sda of=mbrhdtal bs=512 count=1 1+0 registros de entrada 1+0 registros de saída
Mais detalhes sobre este processo.
Muito útil e prático para recuperar seu Linux depois de uma instalação ou reinstalação do Windows que vai matar (excluir) a inicialização do Linux. Lembre de fazer esta copia da MBR antes de reinstalar o windows.
Fazer o backup da MBR:
dd if=/dev/hda of=hda.mbr bs=512 count=1 O retorno deste comando são duas linhas: 1+0 registros de entrada 1+0 registros de saida
Este comando cria no diretório local o arquivo hda.mbr com 512 bytes que pode ser copiado para outro local, disquete, CD ou envie para outra maquina via e-mail, ssh, ftp, este procedimento é importante para ter acesso ao arquivo quando precisar restaurar a MBR, quando fizer isto em varias instalações, procure nomear o arquivo de maneira que possa identifica-lo ou associar a que HD pertence e salvar em um disco de boot também identificado, assim tem tudo em um disco só, boot e a imagem para recuperação, este arquivo contém dados sobre as partições do HD, cuidado para não restaurar imagem errada ou em outro HD que provocará perda das partições. Deixe uma cópia do backup da MBR no HD, tem distribuições que roda em CD, outras que cabe em disquete, em emergencia vele tentar um boot por uma delas e restaurar a MBR.
Na instalação o windows regrava a MBR e remove o boot loader, grub ou lilo não aparecem mais no boot, não tem mais o menu do Grub ou Lilo, portanto não tem mais acesso às partições do Linux, mas elas e todos os dados continuam lá, somente o menu de inicialização sumiu.
Algumas distro tem opção rescue no CD de instalação, basta fazer boot pelo CD de instalação e selecionar o modo rescue que encontra a opção de restaurar o boot loader grub ou lilo, em distros que não tem esta opção, resta a opção de recuperar a MBR, utilize uma distro que roda a partir do CD para acessar o disco e executar o comando, isto vale pra quem tem o backup da MBR, precisa acessar o local onde salvou a copia da MBR para executar a linha de comando.
Existem diversas maneiras, em resumo, precisa acessar o HD como root para executar a linha de comando dentro do diretório onde está a copia da MBR, o acesso pode ser por um Live-CD, disquete de boot ou outro meio, precisa executar a linha de comando:
dd if=hda.mbr of=/dev/hda bs=512 count=1
o retorno deste comando são duas linhas:
1+0 registros de entrada 1+0 registros de saida
Isto indica que obteve sucesso e pode reiniciar a maquina que no próximo boot já aparece o menu de inicialização como era antes do estrago provocado pela reinstalação do Windows.
Quer testar?
use um HD de testes e faça uma instalação dual-boot e depois que Windows e Linux tiver funcionando, execute no windows o comando fdisk /mbr, este comando vai remover o Linux da inicialização, a mesma coisa acontece quando reinstalar o windows, mas as partições e dados do Linux ainda estão lá no HD, siga os passos acima para restaurar a MBR e no proximo boot já vem o menu de inicialização como era antes do windows detonar a MBR.
smart install clamav -y mv /etc/freshclam.conf /etc/suse10-freshclam.conf mv /etc/clamd.conf /etc/suse10-clamd.conf cd /etc wget http://www.zago.eti.br/modelos/clamd.conf wget http://www.zago.eti.br/modelos/freshclam.conf /usr/bin/freshclam /usr/bin/clamscan -r --remove /windows/C
Tenho alguns usuários em clientes que chega ao ponto de reinstalar o windows semanalmente, não adianta avisar, instruir e instalar anti-virus e trocentos programas de proteção, o usuário e a Microsoft não tem culpa, estou convencido que sou o culpado, a solução que encontrei foi passar tudo pra Linux, estações que por algum motivo precisa do windows estou remediando a situação com estes procedimentos.
Avisar por escrito que deve salvar tudo no servidor, seja documentos ou qualquer tipo de arquivo, não pode salvar arquivos nas estações windows.
E-mail somente via webmail interno, nada de outlook ou outra forma de salvar e-mail e arquivos nas estações windows.
Seja qual for o programa tem que salvar os arquivos no servidor, quando não for possivel, como programas da caixa, nova gia, receita federal e etc.., imediatamente após o uso tem que fazer copia no servidor, copie o diretório destes programas ou seus arquivos, no final deste tópico vou colocar alguns exemplos de arquivos .bat e atalhos pra fazer isto atraves de atalho ou agendador de tarefas.
Faça sempre instalações com dual boot Linux e windows, para evitar que a instalação do windows pegue algum virus ou trojam, tire o cabo de rede e faça toda a instalação, configure tudo, quando terminar a configuração do windows, faça uma copia para um diretório do Linux, como é crime fazer copias de programas como os da Microsoft, consulte a legislação sobre a legalidade e procedimentos sobre copia de backup, veja na documentação da microsoft e www.abes.org.br
A copia da instalação do windows para um diretório Linux pode ser em arquivo tar, imagem ISO ou copia direta, normalmente quando se usa dual boot a instalação do windows fica em /dev/hda1, confira na tua instalação com fdisk -l e faça o ajuste nos comandos abaixo, a seguir alguns exemplos que utilizo pra copiar e colar na linha de comando, também pode utilizar esta linhas em script, ou fazer via ambiente gráfico com copiar e colar, konqueror, mc ou outros aplicativos. Configure /etc/fstab pra montar a partições windows no boot, também libere pra usuário comum ter todos os direitos, por exemplo, acrescente esta linha no /etc/fstab.
/dev/hda1 /mnt/win vfat auto,user,rw,nosuid,noexec,umask=0 0 0
Quando for usar em varias instalações, ajuste a linha abaixo para sua instalação para copiar e colar.
echo "/dev/hda1 /mnt/win vfat auto,user,rw,nosuid,noexec,umask=0 0 0" >> /etc/fstab
cuidado com a quebra de linha e espaços, edite o /etc/fstab e verique se os dodos acima estão é uma única linha, ou edite e acrescente diretamente,
Pode optar pela opção acima que monta a partição windows no boot ou montar manualmente a qualquer momento, o ponto de montagem precisa criar uma única vez:
mkdir /mnt/win
Montar;
mount -tvfat /dev/hda1 /mnt/win
No exemplo acima monta a partição /dev/hda1 em sistema FAT32 no ponto de montagem /mnt/win, ajuste estes dados pra tua instalação.
Considerando que a partição windows já está montada, em /mnt/win utilize uma das opções abaixo pra fazer o backup.
Outras opções de copia da partição windows
Prefira fazer a copia e restaurar com tar, copias com cp tem dado algumas mensagens estranhas quando recupera a instalação, parece o cp falha na copia de arquivos com (~) ou não copia todos os arquivos, com o comando tar pega todos os arquivos e restaura sem problema alguma.
Copia para a partição Linux de forma que fiquem acessiveis pelo Linux, utilize o comando cp -ax, exemplo;
mkdir /home/copiawin cd /mnt/win cp -ax * /home/copiawin ls -la /home/copiawin
Gravar em CDR ou DVD - Criar imagem ISO com todos os arquivos da partição windows.
Utilizo o tar para fazer copia completa de instalações do Win98, principalmente reinstalação do windows 98, Winxp também é possível mas requer a instalação do captive, em sistemas NTFS considere usar o dd para fazer copia de partição, arquivos em formato tar ou ISO podem ser acessados facilmente e criar arquivos em outro formato, pode montar a imagem ISO e criar um .tar.gz ou descompactar um .tar.gz para criar uma ISO e gravar em CD/DVD, considere praticar em ambiente de testes.
Não temos como saber o que deve salvar, na maioria das vezes nem o proprio usuário da maquina sabe, depois de ouvir muito "choro" de usuário arrependido, até reclamação que apaguei o que não devia, passei a criar imagem ISO da instalação danificada e guardo por alguns dias, não perco tempo com anti-virus nem selecionar o que copiar, mesmo quando dizem que pode apagar tudo, fique atento a isto, muitos usuários não sabe o que é formatar e nem instalar, acham que vai consertar e não vai perder nada, por isto afirmam coisas que nem sabem do que se trata.
Para evitar aborrecimentos, simplesmente instalo o HD como secundario em uma maquina para criar a imagem ISO com tudo que tem no HD, quando o arrependido quer algum arquivo, basta montar a ISO e copiar o arquivo, quando for muita coisa ou não sabe informar exatamente o que quer, então gravo um CD ou DVD e mando com tudo, já ocorreu situação em que tive de recuperar a instalação para mostrar o que tinha e como estava a instalação antes de qualquer ação minha, já detectei casos que o usuário queria outra coisa mas não sabia o nome nem local e pedia coisa totalmente diferente, outros casos que não tinha mais os arquivos que procura, ele ou algum programa malicioso removeu e o usuário fica pensando que foi o tecnico, a copia completa serve também para restaurar a instalação e se "safar" destas acusações, quem tem tempo e gosta de fazer a coisa direito, pode até passar anti-virus antes, ou simplesmente crie a imagem com tudo, inclusive com os virus que não vai afetar em nada o Linux, a seguir exemplo de como criar a imagem ISO do HD instalado na segunda IDE.
mkdir /home/copiawin cd /home/copiawin mkisofs -r -o copiawin.iso /mnt/win ls -la /home/copiawin
Explicando:
mkdir /home/copiawin
criar o diretório pra salvar a copia da instalação windows.
mkdir /mnt/win
criar o ponto de montagem pra montar a partição windows
mount -tvfat /dev/hda1 /mnt/win
montar a partição windows
cd /mnt/win
entrar na partição windows
cp -ax * /home/copiawin
fazer a copia de todos os arquivos do diretório local para /home/copiawin
mkisofs -r -o copiawin.iso /mnt/win
Faz o mesmo que o tar no exemplo acima, não compacta arquivos mas
cria a imagem ISO copiawin.iso com toda a instalação windows.
Copiar arquivos de diretórios Linux para diretórios windows
Restaurar da copia direta, não recomendável porque ocorre algumas falhas com arquivos do sistema, funciona muito bem como backup de dados, use como referencia para copiar arquivos ou diretórios;
cd /home/copiawin rm -rf /mnt/win/* cp -R * /mnt/win ls -la /mnt/win
Substitua *
na linha de comando cp -R * /mnt/win
pelo caminho completo dos arquivos ou arquivo que deseja copiar.
Restaurar a partir da imagem .ISO
cd /home/copiawin rm -rf /mnt/win/* mkdir /mnt/teste mount -t iso9660 -o loop copiawin.iso /mnt/teste cd /mnt/teste cp -R * /mnt/win ls -la /mnt/win
Lembrando, pratique em ambiente de testes, pense na segurança e backup!.
Existem diversas ferramentas e maneiras de obter o mesmo resultado descrito neste tópico, neste exemplo, é somente mais uma opção com comandos disponiveis na instalação padrão.
Os exemplos a seguir utilizo com frequencia em instalações do CL10 com Windows 98, na maioria das vezes, acesso via ssh para verificação antes de disparar o script, os exemplos a seguir estão em testes, prefira editar a seu modo, considere o uso de script, tudo depende do conhecimento dos usuários, automação sempre ajuda mas também tem seus perigos.
Neste tópico tem exemplos pronto para copiar e colar, inclusive usuário e senhas, em lugar de copiar e colar, pode criar usuário e senha a seu modo, editar o .bashrc para incluir as linhas de comando.
Ou treinar os usuários para rodar script, neste caso não precisa criar usuários diferente, coloque as copias e scripts disponiveis aos usuários e instruções de como realizar a copia e restaurar.
Considere salvar copias das instalações em CD, DVD, em outra maquina ou nos servidores interno, pode fazer isto facilmente ou automatizar com scripts usando NFS, FTP, SSH e outras ferramentas, procure nomear o arquivo de forma que possa identificar o hardware, maquina de origem da copia e também o usuário, exemplo, "tar -czvf win98-hda1-ecs741-zago-governo.tar.gz".
Esta copia pode ser muito útil em casos de queima do HD, para restaurar em outro HD, basta fazer uma instalação minima para criar a partição, formatar e criar a inicialização do windwos, depois faça a instalação do Linux e copie para a maquina o arquivo da instalação que deseja restaurar, basta seguir o processo de restauração descrito neste tópico.
Lembrando mais uma vez, legalmente não pode recuperar esta copia do Windows em outra maquina, é "crime" fazer mais de uma instalação da mesma licença, consulte a Microsoft, documentação, legislação sobre o assunto e sobre copia de segurança.
Instalações Linux que utilizem somente software livre, pode copiar e reproduzir à vontade, não tem limites nem restrições.
Pretendo tornar a reinstalação (restauração) do windows bem automatizada, fazer de forma bem simples.
Ao fazer login em no console (modo texto) como usuário copiawin e digitar a senha o sistema faz uma copia da instalação.
Ao fazer login como instalawin, o sistema faz uma nova copia do que restou do windows, remove tudo na partição windows e recupera a copia padrão, ao dar um reboot vai ter windows exatamente igual ao momento do backup, demora poucos minutos, não perde tempo com reinstalação de drivers, programas e configurações demoradas.
Para evitar reclamações de usuários preciso evitar mensagens, avisos e fazer tudo de forma transparente, remover tudo na partição windows, também virus e trojan, depois restaurar a instalação do windows.
Por enquanto estou fazendo testes com alguns usuários que tenho condições de acompanhar mais de perto, quando complica, acesso via ssh e faço manualmente, pode acessar também via putty, pode conectar com outro usuário e tornar root para monitorar espaço e outras informações, para executar o .bashrc do usuário "copiawin", basta executar su - copiawin
, aguarde a solicitação da senha, neste exemplo é minhacopia
e prontinho, acompanhe as mensagens no console.
Caso voce descubra o erro ou tenha alguma sugestão para melhorar este documento, por favor, envie a dica pro FAQ.
A seguir, linhas para copiar e colar, execute uma única vez para criar usuário e rotina de backup, as linhas abaixo estão no formato para copiar e colar, considerando que a montagem está automatizada no boot, windows em sistema FAT32 e montado em /mnt/win, montado com permissão de escrita a qualquer usuário da maquina, após o exemplo a seguir, tem a copia do .bashrc do usuário modificada com as linhas abaixo para servir como referencia.
#inicio usuario=copiawin senha=minhacopia adduser $usuario echo $senha | passwd --stdin $usuario echo "cd /home/copiawin" >> /home/copiawin/.bashrc echo "mount | grep /mnt/win" >> /home/copiawin/.bashrc echo "if [ \$? -eq 0 ];then" >> /home/copiawin/.bashrc echo " echo \$?" >> /home/copiawin/.bashrc echo " echo "partição windows montada - prosseguindo"" >> /home/copiawin/.bashrc echo "else" >> /home/copiawin/.bashrc echo "echo "FALHOU /mnt/win não está montado"" >> /home/copiawin/.bashrc echo " exit 1" >> /home/copiawin/.bashrc echo "fi" >> /home/copiawin/.bashrc echo "# incluir aqui, rotina para verificar espaço em disco." >> /home/copiawin/.bashrc echo "disponivel=\`df -k / | tail -1 | awk '{print \$4}'\`" >> /home/copiawin/.bashrc echo "arqtam=\`du -b /mnt/win | tail -1 | awk '{print \$1}'\`" >> /home/copiawin/.bashrc echo "if [ \$disponivel -ge \$arqtam ]; then" >> /home/copiawin/.bashrc echo "echo FALHOU - espaço disponivel = \$disponivel requerido= \$arqtam - possivel falta de espaço para copia " >> /home/copiawin/.bashrc echo "exit 1" >> /home/copiawin/.bashrc echo "fi" >> /home/copiawin/.bashrc echo "tar -czvf winemhda1-\`date +%d.%b.%Y-%H-%M\`.tar.gz /mnt/win" >> /home/copiawin/.bashrc echo "reboot" >> /home/copiawin/.bashrc chmod +s /usr/bin/reboot #fim
Oriente o usuário, a cada login no console dispara uma copia do windows, pode encher o disco, tudo depende de quantas vezes for executado, do tamanho da instalação e capacidade do HD, faça verificação do espaço em disco ou implemente script com rotina de verificação.
Resultado:
[copiawin@aula copiawin]$ ls -la -rw-rw-r-- 1 copiawin copiawin 256510042 2005-09-11 01:08 winemhda1-11.Set.2005-01-07.tar.gz
Como fica o .bashrc do usuário após copiar e colar as linhas acima.
[copiawin@aula copiawin]$ cat .bashrc # .bashrc # User specific aliases and functions # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi cd /home/copiawin mount | grep /mnt/win if [ $? -eq 0 ];then echo $? echo partição windows montada - prosseguindo else echo FALHOU /mnt/win não está montado exit 1 fi # incluir aqui, rotina para verificar espaço em disco. disponivel=`df -k / | tail -1 | awk '{print $4}'` arqtam=`du -b /mnt/win | tail -1 | awk '{print $1}'` if [ $disponivel -ge $arqtam ]; then echo FALHOU - espaço disponivel = $disponivel requerido= $arqtam - possivel falta de espaço para copia exit 1 fi tar -czvf winemhda1-`date +%d.%b.%Y-%H-%M`.tar.gz /mnt/win reboot
Utilize as linhas acima como referencia em script para executar a partir da linha de comando.
Restaurar a instalação, por segurança mantenha a linha que faz copia da instalação danificada, esta copia serve para salvar aqueles usuários descuidados, aqueles que depois de apagar a instalação fica pedindo para arrumar um maneira de recuperar um arquivo muito importante, guarde esta copia por alguns dias, ela serve para recuperar eventuais arquivos ou até mesmo a instalação inteira.
O exemplo abaixo, são linhas para copiar e colar, como root, o simples fato de copiar no shell, automaticamente cria usuário e senha para recuperar a instalação do Windows previamente copiada e disponibilizada para este usuário.
Por questão de segurança não permito que usuários executem este processo, intencionalmente são dois usuários, de forma que usuário restaura (instalawin) consegue recuperar somente a instalação padrão, a não ser que acesse a linha de comando e execute manualmente, neste caso tem assistencia ou conhecimento para fazer, os demais tem que pedir ajuda para recuperar a instalação a partir de outra copia diferente da padrão, segue as linhas para copiar e colar.
#inicio usuario=instalawin senha=reinstala adduser $usuario echo $senha | passwd --stdin $usuario echo "cd /home/instalawin" >> /home/instalawin/.bashrc # incluir aqui, rotina para verificar espaço em disco. echo "tar -zcvf winemhda1-com-erro-`date +%d.%b.%Y-%H-%M`.tar.gz /mnt/win" >> /home/instalawin.bashrc echo "rm -rf /mnt/win/*" >> /home/instalawin/.bashrc echo "tar -zxvf winemhda1.tar.gz -C /" >> /home/instalawin/.bashrc echo "reboot" >> /home/instalawin/.bashrc chmod +s /usr/bin/reboot #fim
Como fica o .bashrc do usuário após copiar e colar as linhas acima.
[root@aula root]# cat /home/instalawin/.bashrc # .bashrc # User specific aliases and functions # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi cd /home/instalawin rm -rf /mnt/win/* tar -zxvf winemhda1.tar.gz -C / reboot
Copia do /etc/fstab utilizado nos exemplos acima.
[root@aula root]# cat /etc/fstab /dev/hda2 swap swap defaults 0 0 /dev/hda3 / ext3 defaults 1 1 /dev/hda1 /mnt/win vfat auto,user,rw,nosuid,noexec,umask=0 0 0 none /mnt/cdrom supermount fs=iso9660:udf:ext2:hfs,dev=/dev/cdrom,ro,nosuid,nodev,user,exec 0 0 none /proc proc defaults 0 0 none /sys sysfs noauto 0 0 none /mnt/floppy supermount fs=ext2:vfat:msdos,dev=/dev/fd0,nosuid,nodev,user 0 0 none /dev/pts devpts gid=5,mode=620 0 0
Copia de arquivos de configuração de uma instalação em HD SATA. instalado win98 na primeira partição, linux swap na segunda, CL10 normal na terceira e na quarta partição o CL10 upd1, o boot é feito pela quarta partição e nela estão os backups das outras instalações de testes.
veja abaixo copia de arquivos de configuração:
fstab
Com montagem automatica da partição win e Linux e com permissão pra acesso por usuário comum.
[root@cl10up root]# cat /etc/fstab /dev/sda2 swap swap defaults 0 0 /dev/sda4 / ext3 defaults 1 1 /dev/sda3 /mnt/testes ext3 auto,user,rw,nosuid,noexec 0 0 /dev/sda1 /mnt/win vfat auto,user,rw,nosuid,noexec,umask=0 0 0 none /mnt/cdrom supermount fs=iso9660:udf:ext2:hfs,dev=/dev/cdrom,ro,nosuid,nodev,user,exec 0 0 none /proc proc defaults 0 0 none /sys sysfs noauto 0 0 none /mnt/floppy supermount fs=ext2:vfat:msdos,dev=/dev/fd0,nosuid,nodev,user 0 0 none /dev/pts devpts gid=5,mode=620 0 0
Fdisk - listar as partições.
[root@cl10up root]# fdisk -l Disk /dev/sda: 120.0 GB, 120034123776 bytes 255 heads, 63 sectors/track, 14593 cylinders Units = cilindros of 16065 * 512 = 8225280 bytes Dispositivo Boot Start End Blocks Id System /dev/sda1 1 638 5124703+ b W95 FAT32 /dev/sda2 639 654 128520 82 Linux swap /dev/sda3 655 1929 10241437+ 83 Linux /dev/sda4 * 1930 14593 101723580 83 Linux
grub
[root@cl10up root]# cat /boot/grub/menu.lst timeout = 15 default = 0 color = 2 foreground = 3D FFFFFF background = 3D 0C55C3 viewport 3 2 77 22 shade 0 splashimage = (hd0,3)/boot/grub/splash.xpm.gz title = Conectiva Linux 10 (SMP) kernel = (hd0,2)/boot/vmlinuz-2.6.5-63077clsmp root=/dev/hde3 vga=0x314 splash=silent 5 initrd = (hd0,2)/boot/initrd-2.6.5-63077clsmp title = Conectiva Linux 10 (SMP) [Modo texto] kernel = (hd0,2)/boot/vmlinuz-2.6.5-63077clsmp root=/dev/hde3 vga=0x314 splash=silent 3 initrd = (hd0,2)/boot/initrd-2.6.5-63077clsmp title = Conectiva Linux 10 kernel = (hd0,2)/boot/vmlinuz-2.6.5-63077cl root=/dev/hde3 vga=0x314 splash=silent 5 initrd = (hd0,2)/boot/initrd-2.6.5-63077cl title = Conectiva Linux 10 [Modo texto] kernel = (hd0,2)/boot/vmlinuz-2.6.5-63077cl root=/dev/hde3 vga=0x314 splash=silent 3 initrd = (hd0,2)/boot/initrd-2.6.5-63077cl title = Conectiva Linux 10 (SMP) kernel = (hd0,3)/boot/vmlinuz-2.6.10-72032U10_12clsmp root=/dev/sda4 vga=0x314 splash=silent 5 initrd = (hd0,3)/boot/initrd-2.6.10-72032U10_12clsmp title = Conectiva Linux 10 (SMP) [Modo texto] kernel = (hd0,3)/boot/vmlinuz-2.6.10-72032U10_12clsmp root=/dev/sda4 vga=0x314 splash=silent 3 initrd = (hd0,3)/boot/initrd-2.6.10-72032U10_12clsmp title = Conectiva Linux 10 kernel = (hd0,3)/boot/vmlinuz-2.6.10-72032U10_12cl root=/dev/sda4 vga=0x314 splash=silent 5 initrd = (hd0,3)/boot/initrd-2.6.10-72032U10_12cl title = Conectiva Linux 10 [Modo texto] kernel = (hd0,3)/boot/vmlinuz-2.6.10-72032U10_12cl root=/dev/sda4 vga=0x314 splash=silent 3 initrd = (hd0,3)/boot/initrd-2.6.10-72032U10_12cl title = Memory Testing Utility kernel = (hd0,3)/boot/memtest86 title = Microsoft Windows (tm) unhide (hd0,0) rootnoverify (hd0,0) chainloader +1 makeactive