Mostrando postagens com marcador Sistemas Operacionais. Mostrar todas as postagens
Mostrando postagens com marcador Sistemas Operacionais. Mostrar todas as postagens

Terça-feira, 6 de Maio de 2008

Autoexec.NT e Config.NT

Isso é conhecimento básico de Windows de 32bits, necessário para entender outros posts que estou preparando.

Embora seja comum encontrar arquivos autoexec.bat e config.sys na raiz de uma instalação do XP, esses arquivos são ignorados por todas as versões do Windows desde o 2K. Todas as aplicações DOS são executadas em uma máquina virtual chamada NTVDM que por default carrega suas preferências a partir de dois outros arquivos: autoexec.nt e config.nt, que também por default estão localizados na pasta %SystemRoot%\system32\ (geralmente, c:\windows\system32).

Porém você também pode especificar arquivos específicos por aplicação. Cada aplicação DOS no seu sistema pode ter seu próprio par de arquivos de incialização e você pode até mesmo ter atalhos diferentes para a mesma aplicação que carregam arquivos diferentes.

Crie um atalho para o executável, clique sobre o atalho com o botão direito e escolha propriedades.



Clique em avançado



Aí você define o nome e a localização dos arquivos para um atalho específico. Isso não muda o default e novos atalhos sempre usarão o default a não ser que você os edite também.

Se você estiver experimentando problemas esquisitos em uma aplicação DOS, verifique que arquivos de inicialização seu atalho carrega e o que existe neles.

Todos os programas que se instalam no Windows que pretendem interferir na execução de aplicações DOS (hoje, geralmente só os antivirus) alteram esses arquivos. Por isso é aconselhável que você não personalize a localização dos mesmos a não ser quando for realmente necessário.

Sábado, 19 de Janeiro de 2008

Enorme demora para logar no Windows 2003 server

Eu não vou entrar em detalhes (até mesmo porque não me lembro deles), mas se toda vez que você tenta logar em um domínio Windows 2003 server demora muuuuito depois de digitar o usuário e senha até aparecer o desktop e/ou dá uma mensagem de erro de que não conseguiu encontrar o domínio, vá nas propriedades TCP/IP da conexão de rede e coloque como servidor DNS o IP do servidor do domínio.

Eu tive esse problema de novo hoje com um cliente e já esqueci a explicação, mas se não me engano é porque desde o Windows 2003 a MS deixou de usar o protocolo NETBEUI NetBIOS para fazer resolução de nomes e agora usa DNS mesmo na rede local. Até o Windows 2000 server ainda era usado o NETBEUI NetBIOS.

É claro que se o servidor de domínio da rede for também o gateway, isso não é necessário, porque o gateway costuma se apresentar automaticamente como servidor DNS. Mas no caso desse cliente o gateway é outro dispositivo, daí a necessidade de configurar o servidor DNS manualmente.

Domingo, 25 de Novembro de 2007

Como mudar o MAC de uma placa de rede, sem software.

A necessidade de contornar uma limitação de minha banda larga sem fio me levou a estudar o processo. E criei um tutorial quase completo a respeito. Testado e comprovado na minha própria rede.

Segunda-feira, 12 de Novembro de 2007

Por que Thinstall exige que o Windows esteja limpo?

Se você já testou o Thinstall já viu a recomendação de que você sempre trabalhe em uma instalação "limpa" do XP (uma instalação recente, sem nenhum acréscimo). Isso pode parecer frescura, mas é absolutamente essencial para o correto funcionamento do programa.

Para poder criar corretamente o ThinEXE, Thinstall precisa saber precisamente o que muda no sistema com a instalação do programa. Ele consegue isso fazendo um snapshot anterior e outro posterior à instalação que permite a ele saber exatamente cada arquivo acrescentado ou modificado pela instalação, em qualquer lugar do HDD.

Se você instalar um programa que requer uma versão mais recente de uma DLL qualquer do que a originalmente instalada pelo Windows, mas você já tiver essa DLL instalada, o instalador vai notar isso e não vai mexer em nada. Conseqüentemente Thinstall ao comparar os snapshots não vai perceber a necessidade da DLL e não vai incluí-la no ThinEXE. Ao rodar o arquivo em um Windows com a DLL certa, vai funcionar, mas em um Windows sem a atualização o programa vai espernear. Muitas vezes sem dar uma pista muito clara do motivo.

O mesmo ocorre com o Registro. Não há nenhuma garantia de que um programa ao ser desinstalado remova todos os seus arquivos e/ou tudo o que fez no Registro. Assim desinstalar um programa e depois monitorar sua reinstalação com o Thinstall pode não ter o efeito desejado.

Então, para aumentar suas chances de sucesso sem ter que formatar o HDD e reinstalar o Windows entre cada operação, use a facilidade de snapshot do VmWare/VirtualPC ou mesmo o Ghost.

Sábado, 10 de Novembro de 2007

JAVA

Não adianta, eu não consigo embarcar no bonde dos que veneram a programação em Java. Do ponto de vista do programador pode ser interessante por causa da suposta portabilidade (ainda não vi um game feito para celular rodando em um PC) e da facilidade de programação (um amigo que faz faculdade garante que Java é mais fácil que C++), mas do ponto de vista de um usuário Windows, só vale mesmo a pena para Internet Banking.

Na maioria das vezes que meu Windows começa a ficar estranhamente lento, como se estivesse puxando uma bola de ferro pelos tornozelos virtuais, o danado do ícone da xícara está lá na barra de tarefas. Eu já separei um browser só para acessar Internet Banking, porque se eu fizer isso no meu Firefox vou ter que dar um shutdown no browser (e ter que recarregar 40+ abas) em seguida, já que mesmo fechando as abas do acesso ao banco, a xícara (e a lentidão) não vão embora.

Nas poucas vezes em que encontro uma aplicação Windows "offline" que usa Java, é batata: O software é perceptívelmente lerdo.

  • Acontecia no Windows 95 e continua acontecendo no XP SP2.
  • Acontecia quando eu tinha um Duron 950 com 128MB de RAM e continua acontecendo com um Sempron 2500+ com 1GB de RAM.
É só comigo?

Editado: Estava dando uma olhada agora no artigo Java Performance da en.Wikipedia e encontrei a seguinte "pérola":
Future improvements are planned to preload class data at OS startup to get data from the disk cache rather than on the disk.

Oh, sim... E então a JAVA VM vai ser mais um exemplo de software que finge ser mais rápido atrasando a inicialização do SO e usando sua RAM mesmo quando você não pretende usá-lo!

Editado 2: Esta página sugere que a JRE 6 consome substancialmente menos memória que a JRE 5. Coincidentemente ou não eu ainda estava usando a JRE 5, por isso fiz o upgrade agora. Não que eu acredite que vá sentir a diferença com meus atuais 1,5GB de RAM.

Terça-feira, 30 de Outubro de 2007

VMWare atrasando o boot em 43 segundos

Essa é a segunda vez que acontece comigo. Precisei reinstalar o VMWare Server no meu PC principal para fazer experiências e reiniciar o PC passou a levar 2:35 contra os habituais 1:52

nota: Eu cronometro do momento de escolher "Windows XP" no menu de boot até o último ícone aparecer na barra de tarefas.

Eu já havia encontrado e aplicado a solução antes, mas perdi o arquivo batch e tive que procurar de novo. Vou registrar aqui para facilitar a minha vida e a de outros :)

Eu fiz alguns ajustes na solução proposta. Minha implementação é dirigida a quem, como eu, só usa o VMware esporádicamente. Quem precisa dele todo instante pode preferir fazer de outra maneira.

Execute "services.msc"

Localize e configure para início manual estes serviços:

  • "VMWare Authorization Service"
  • "VMWare DHCP Service"
  • "VMWare NAT Service"
  • "VMWare Registration Service"
  • "VMWare Virtual Mount Manager Extended"
Crie um arquivo "ativa-vmware.bat" com o seguinte conteúdo:

net start "VMWare DHCP Service"
net start "VMWare NAT Service"
net start "VMWare Virtual Mount Manager Extended"
:loop
ping.exe -n 3 localhost >nul
net start|find "VMware"
if errorlevel 1 goto loop
net start "vmware authorization service" & net start "vmware registration service"
pause

E toda vez que você precisar do VMware basta excutar "ativa-vmware.bat" antes de abrir o console (só é necessário uma vez por seção do Windows).

Editado: "seção"?! Eu escrevi mesmo isso? É "sessão" gente!

Na verdade, o causador do atraso é o "registration service", que por sua vez depende do "authorization service". Eu desativei os outros serviços apenas por não serem realmente necessários no meu dia-a-dia e não porque estejam relacionados diretamente com o atraso, mas você vai notar ao rodar o batch que de qualquer forma eles levam uns pouco segundos para serem iniciados.

Como funciona o batch
Você não precisa ler isto aqui.

Inicia três serviços:
net start "VMWare DHCP Service"
net start "VMWare NAT Service"
net start "VMWare Virtual Mount Manager Extended"
O comando ping é usado aqui como um truque para dar um retardo, já que os arquivos batch do Windows não tem um comando sleep() ou wait(). Poderia ser qualquer coisa que atrasasse um pouco a execução dando tempo para os serviços estarem prontos.
:loop
ping.exe -n 3 localhost >nul
net start|find "VMware"
if errorlevel 1 goto loop
A idéia geral é:
  • Dá uma pausa
  • Exibe uma lista dos serviços e procura na lista a palavra VMWARE
  • Se a palavra for encontrada, prossegue. Se não, continua esperando.
Eu não creio que esse trecho seja realmente necessário do jeito que reescrevi o batch. Mas como foi sugerido por alguém que certamente é muito mais experiente que eu em VMWARE, eu o mantive. Até mesmo porque não faz mal nenhum.

Agora, os dois serviços mais problemáticos são iniciados:
net start "vmware authorization service" & net start "vmware registration service"
pause

O "&" é apenas uma forma de assegurar que o "registration service" só inicie depois que o "authorization service" tiver iniciado. A pausa final serve apenas para que você possa enxergar o resultado do processo.

Se você esquecer de ativar os serviços antes de abrir o console, vai aparecer uma janela de logon assim:



Quando o normal é este:



A janela de logon bem que poderia, ao notar que os serviços não estão rodando na máquina, apresentar um link do tipo "Onde está a opção Local host?" levando para uma explicação. Ou mesmo explicar na própria janela.

Quinta-feira, 25 de Outubro de 2007

Graaande burrada...

Horas atrás eu tive uma desagradável surpresa ao encontrar um dos meus HDDs de 120GB de meu PC auxiliar completamente limpo, aparentemente formatado. Eu realmente formatei HDDs nessa máquina nas últimas 24H por causa de um serviço que estou fazendo para um cliente, mas não conseguia entender que tipo de erro eu poderia ter cometido para apagar o HDD errado (e três vezes maior que o do cliente), sem sequer ter notado.

Após muita avaliação, lembrei de uma caca que eu fizera horas antes.

Eu copiei o DVD de recuperação de um notebook Positivo SIM+ para arquivo. Pro caso de algum cliente precisar, pois já tive problemas antes para recuperar notebooks cujos discos de recuperação haviam sido extraviados. Curioso para saber se o programa no DVD só permitiria a recuperação em um notebook positivo específico, dei boot no meu PC com esse DVD para ver o que ele dizia (atenção: esse foi o meu grande erro).

Eu esperava que o disco me desse uma meia dúzia de alertas quanto ao seu propósito e que esse teste fosse perfeitamente seguro, porque o DVD de recuperação da Toshiba, por exemplo, pede tantas confirmações que aborrece. Mas ao dar boot pelo disco apareceu logo uma tela de inicialização do Windows Vista e depois de um minuto ou mais uma mensagem de "copiando arquivos". Preocupado, abortei o processo e dei boot pelo HDD. Tudo pareceu normal, por isso guardei o DVD pensando em testar em um PC menos importante um outro dia.

O que eu não notei por causa dos cinco HDDs e várias partições nessa máquina é que o programa apagou o segundo HDD inteiro.

Neste momento eu estou preparando um segundo HDD IDE de 120GB (estou movendo os dados para um HDD SATA que tenho livre aqui) para tentar a recuperação do meu HDD formatado usando o Lost&Found, GetDataBack, etc.

Eu admito que não foi nem um pouco esperto da minha parte ter feito o que fiz, mas se foi realmente o DVD de recuperação da Positivo que apagou meu HDD (eu vou refazer essa experiência depois em outro PC), fique esperto: Se você tem algum desses, guarde muito bem guardado e com um aviso do que pode acontecer se por acaso você der boot com ele.

Quinta-feira, 16 de Agosto de 2007

Aprenda a se virar com o teclado errado

Essa dica é muito velha, mas sempre vai existir quem não sabe (veterano ou novato). Desde o DOS é possível "digitar" qualquer caractere da tabela ASCII no teclado mesmo que a respectiva tecla não exista. Você só precisa saber o código ASCII do caractere e usar o seguinte procedimento:

  • Segure a tecla ALT esquerda;
  • Digite o código ASCII no teclado numérico;
  • Solte a tecla ALT.
O caractere desejado vai aparecer.

É preciso usar o teclado numérico (a linha de teclas numéricas horizontal do teclado não serve)

Um amigo meu precisou disso hoje. Ele me telefonou porque estava com um notebook e não conseguia encontrar a "barra invertida" (\) no teclado.

Eu estava na rua e não tenho esses códigos na cabeça, mas pude dar a solução para ele porque uso no meu TREO o freeware ASCIIChart.



Notebooks geralmente não tem um teclado numérico separado, mas em geral a região central do teclado vira um teclado numérico apropriado quando você ativa NUM LOCK.

Para os que não andam com um PALM por toda parte, existem pelo menos dois códigos que é sempre bom lembrar, principalmente para aqueles momentos quando você está perdido no prompt de comando:
  • ":" = ALT+58
  • "\"= ALT+92
Nota: para códigos a partir de 127, você pode precisar colocar um zero na frente para obter o símbolo esperado. Para códigos abaixo de 127, tanto faz.

Ou seja:
  • 127 = 0127
  • 128 <> 0128

Consulte também esta página, e esta.

Sexta-feira, 30 de Março de 2007

Vista: Shrink Partition

Finalmente encontrei uma novidade interessante no Windows Vista.

Um cliente me chamou porque tinha comprado um notebook novo (Toshiba Satellite A135) com HDD de 160GB que já tinha vindo com o Vista Home Premium e queria fazer um dual-boot com o Windows XP. O primeiro passo, claro, era criar uma outra partição no HDD para acomodar o XP.

Tentei, pelo DOS, três utilitários especializados, incluindo o Partition Magic, sem sucesso. Todos encontraram problemas. Mas a única dica que eu tinha de que problema era esse era a presença de uma partição menor e desconhecida, de 1,5GB, logo no início do disco.

Sem opções, resolvi ir olhar no Gerenciador de Disco do Vista se havia algum recurso novo que pudesse me ajudar ou que pelo menos explicasse os erros reportados pelos utilitários e a presença daquela partição menor. Cliquei com o botão direito sobre a partição do Vista e lá estava a opção inédita: "shrink volume". O nome já dizia tudo, mas como eu nunca tinha visto aquilo antes, ainda fiquei com um pé atrás.

Mas como o cliente não tinha muito a perder (a não ser tempo) se algo desse errado, já que o notebook estava completamente original e bastaria usar o DVD de recuperação da Toshiba caso o "shrink" não funcionasse como esperado, resolvi experimentar. Pedi para remover 60GB da partição.

Não levou nem 10 segundos. O Gerenciador de Disco logo mostrou que eu eu tinha uma partição nova de 60GB no disco. Tudo sem sair do ambiente gráfico do Vista.

Provavelmente só foi tão fácil e rápido porque o disco ainda não estava fragmentado, senão iria ser preciso fazer uma tediosa desfragmentação antes. Mas essa necessidade também existe usando qualquer outra ferramenta de particionamento.

Ainda não sei para que serve a partição de 1,5GB, mas esse é outro problema.

Terça-feira, 20 de Março de 2007

Windows 2000: senha em maiúsculas por default

Já é a segunda vez que apanho com isso, mas só agora eu flagrei a razão. O cretino do Windows 2000 coloca a entrada de caracteres em maiúsculas, sem colocar realmente o teclado em CAPS LOCK, na tela onde pede para você gravar a senha de administrador. Quando o PC reinicia para o primeiro logon, a senha que você acha que colocou não funciona.

Como eu estava instalando o 2000 ao mesmo tempo que fazia outras coisas, fiquei perdido testando diversas senhas diferentes sem saber que senha eu havia usado, até que experimentei as mesmas senhas possíveis em maiúsculas.

Nesse ponto eu pensei: o teclado estava com CAPS LOCK ativo e eu não vi?

Mas deu uma zebra na instalação (usei FAT32 e o que eu queria usar exigia NTFS) e precisei instalar tudo de novo. Desta vez prestei atenção e flagrei o problema. Para poder entrar com uma senha em letras minúsculas eu tive que apertar duas vezes a tecla CAPS LOCK.

Eu não sei se isso ocorre em qualquer situação, porque eu uso muito pouco o Win2K server.

[24/03/07] Não ocorre em qualquer situação. Nos últimos dias eu instalei várias vezes o 2000 server em máquinas virtuais do Virtual PC 2007 e o problema não ocorreu nenhuma vez.

Instalar Windows 2000 desabilitou meu XP

Eu precisei fazer uma instalação de teste do Windows 2000 server para simular um problema de cliente. Usei como cobaia um PC onde tenho o Windows XP e Linux.

Instalei em outra partição, certo de que o Windows 2000 ia sobreescrever o MBR e desabilitar a instalação do Linux. Para minha surpresa, a instalação do Linux não foi tocada. O que o Windows 2000 colocou fora do ar foi minha instalação do XP. Ele encontrou meu menu de inicialização e acrescentou um item "Windows 2000", preservando o item do XP, mas escolher o XP no menu levava a uma inicialização defeituosa do 2000.

Entrei pelo console de recuperação do XP e usei os comandos FIXMBR e FIXBOOT. Fixmbr mandou o menu do Linux pro espaço e não resolveu o problema do XP. Fixboot não surtiu nenhum efeito.

Que ótimo. Sem XP, sem Linux e com uma instalação incompleta do 2000.

Por sorte, cinco minutos depois eu encontrei a causa do problema junto com a solução. Eu tinha um backup da raiz do meu drive C: e notei que os arquivos NTLDR e NTDETECT.COM do XP foram substituídos pelas versões do Windows 2000 (deu para perceber pela data). Bastou copiar por cima o meu backup e o XP voltou a inicializar, sem desabilitar o 2000.