<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Daniel Martín's blog : Funcionamiento</title><link>http://msmvps.com/blogs/dmartin/archive/tags/Funcionamiento/default.aspx</link><description>Tags: Funcionamiento</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>¿Cuándo se crea una partición de sistema durante la instalación de Windows 7?</title><link>http://msmvps.com/blogs/dmartin/archive/2009/12/13/191-cuando-se-crea-una-partici-243-n-de-sistema-durante-la-instalaci-243-n-de-windows-7.aspx</link><pubDate>Mon, 14 Dec 2009 01:50:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1745426</guid><dc:creator>dmartin</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/rsscomments.aspx?PostID=1745426</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/commentapi.aspx?PostID=1745426</wfw:comment><comments>http://msmvps.com/blogs/dmartin/archive/2009/12/13/191-cuando-se-crea-una-partici-243-n-de-sistema-durante-la-instalaci-243-n-de-windows-7.aspx#comments</comments><description>&lt;p&gt;Antes de la primera &lt;em&gt;beta&lt;/em&gt; de Windows 7 &lt;a target="_blank" href="http://msmvps.com/blogs/dmartin/archive/2008/11/16/sobre-la-nueva-partici-243-n-de-sistema-de-windows-7.aspx"&gt;publiqu&amp;eacute;&lt;/a&gt; un art&amp;iacute;culo referido a la partici&amp;oacute;n de sistema que se&amp;nbsp;crea durante la instalaci&amp;oacute;n de&amp;nbsp;Windows 7, de 200 MB (reducido a 100 MB en la versi&amp;oacute;n final, como ya anticip&amp;eacute; en el art&amp;iacute;culo), con etiqueta &amp;quot;Reservado para el sistema&amp;quot; y sin letra de unidad asignada. Como a&amp;uacute;n existen muchas cuestiones sobre qu&amp;eacute; condiciones tiene que cumplir el disco para que se cree autom&amp;aacute;ticamente dicha partici&amp;oacute;n, este art&amp;iacute;culo intentar&amp;aacute; detallar a&amp;uacute;n m&amp;aacute;s este punto. Como ya sabe, el motivo principal&amp;nbsp;por el cual se le invita al usuario a crear una partici&amp;oacute;n de sistema separada de la partici&amp;oacute;n de arranque es para que la utilidad de Windows 7&amp;nbsp;Bitlocker funcione correctamente y tambi&amp;eacute;n&amp;nbsp;para facilitar los escenarios en los que hay dos o m&amp;aacute;s sistemas operativos instalados en una misma m&amp;aacute;quina.&lt;/p&gt;
&lt;p&gt;Durante la instalaci&amp;oacute;n de Windows 7, se comprueba si existe una unidad de sistema creada con anterioridad (por ejemplo, porque se est&amp;eacute; realizando una actualizaci&amp;oacute;n, una instalaci&amp;oacute;n limpia iniciando el programa de instalaci&amp;oacute;n desde otro Windows, o bien se hayan creado las particiones con otra utilidad). Si es el caso, se comprueba si esta cumple con el requisito de tener al menos 100 MB de espacio libre. Si fuera adem&amp;aacute;s el volumen donde se va a instalar el sistema operativo, este debe tener espacio tambi&amp;eacute;n para los archivos de instalaci&amp;oacute;n del&amp;nbsp;sistema. Si se cumplen estas condiciones, la unidad queda asignada como volumen de sistema, marcada como&amp;nbsp;activa, y el programa de instalaci&amp;oacute;n no hace ninguna modificaci&amp;oacute;n.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;iquest;Qu&amp;eacute; ocurre si no hay ning&amp;uacute;n volumen de sistema en el equipo?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;En el&amp;nbsp;caso de que no haya ning&amp;uacute;n volumen de sistema en el equipo, normalmente porque se est&amp;aacute; instalando Windows 7 en un disco vac&amp;iacute;o, el programa de instalaci&amp;oacute;n intenta encontrar la mejor unidad de sistema posible. Para ello se siguen estos pasos, que imponen un orden de preferencia:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Se intenta encontrar una regi&amp;oacute;n dentro del espacio no asignado del disco donde se va a instalar el sistema operativo, que cumpla con los requisitos de espacio antes mencionados.&lt;/li&gt;
&lt;li&gt;Si no se ha encontradado nada, se busca en el espacio no asignado del resto de discos.&lt;/li&gt;
&lt;li&gt;Si a&amp;uacute;n as&amp;iacute; no se encontrara un candidato a posible unidad de sistema, se examinar&amp;iacute;a el espacio asignado en todos los discos.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Queda una &amp;uacute;ltima restricci&amp;oacute;n: Si el sistema encontrara una regi&amp;oacute;n sin asignar que cumpliera con los requisitos de espacio de la unidad de sistema, esta solo es elegida si en el disco hay menos de 3 particiones.&lt;/p&gt;
&lt;p&gt;Una vez que el programa de instalaci&amp;oacute;n ha encontrado una regi&amp;oacute;n que puede contener la unidad de sistema, consulta al usuario si desea crearla (si procede)&amp;nbsp;y, de contestar afirmativamente, la crea y le da formato NTFS.&lt;/p&gt;
&lt;p&gt;Preguntas m&amp;aacute;s frecuentes:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tengo una partici&amp;oacute;n sin letra de 200 MB&amp;nbsp;o de un tama&amp;ntilde;o superior, no de 100 MB&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Es importante comentar que la versi&amp;oacute;n final de Windows 7, de tener que crear una partici&amp;oacute;n de sistema, siempre crear&amp;aacute; una de 100 MB. Si observa una partici&amp;oacute;n de 200 MB o de otro tama&amp;ntilde;o superior, sin letra de unidad, probablemente se trate de una partici&amp;oacute;n&amp;nbsp;activa que ya estaba con anterioridad en ese sistema (quiz&amp;aacute; por la instalaci&amp;oacute;n de una versi&amp;oacute;n &lt;em&gt;beta&lt;/em&gt; de Windows 7)&amp;nbsp;y que el programa de instalaci&amp;oacute;n de Windows 7 ha aprovechado.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;iquest;Se puede evitar la creaci&amp;oacute;n de esa partici&amp;oacute;n de sistema?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Es posible, pero yo personalmente no lo recomiendo. Quiz&amp;aacute; la forma m&amp;aacute;s sencilla sea pulsar May&amp;uacute;sculas+F10 en la pantalla de creaci&amp;oacute;n de particiones del programa de instalaci&amp;oacute;n de Windows 7 para abrir una consola de comandos. En dicha consola, teclear estos comandos para crear una partici&amp;oacute;n activa que ocupe la totalidad del disco. Esta partici&amp;oacute;n activa la usar&amp;aacute; el programa de instalaci&amp;oacute;n como partici&amp;oacute;n de sistema:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;
&lt;p&gt;Diskpart&lt;br /&gt;Select disk 0&lt;br /&gt;Create part prim&lt;br /&gt;Active&lt;br /&gt;Exit&lt;/p&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Es probable que al cerrar la consola tenga que pulsar sobre el bot&amp;oacute;n &lt;em&gt;Actualizar&lt;/em&gt; para ver el nuevo esquema de particiones reci&amp;eacute;n creado.&lt;/p&gt;
&lt;p&gt;Para concluir, este diagrama de flujo resume los pasos que se siguen para determinar si se debe crear una unidad de sistema durante la instalaci&amp;oacute;n de Windows 7:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://msmvps.com/cfs-filesystemfile.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/4201.ParticionSistemaFlujo.png" border="0" style="max-height:738px;max-width:695px;" alt="" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1745426" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Consultas/default.aspx">Consultas</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Funcionamiento/default.aspx">Funcionamiento</category></item><item><title>¿Cómo funciona Autorun/AutoPlay en Windows 7?</title><link>http://msmvps.com/blogs/dmartin/archive/2009/11/19/191-c-243-mo-funciona-autorun-autoplay-en-windows-7.aspx</link><pubDate>Thu, 19 Nov 2009 22:17:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740381</guid><dc:creator>dmartin</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/rsscomments.aspx?PostID=1740381</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/commentapi.aspx?PostID=1740381</wfw:comment><comments>http://msmvps.com/blogs/dmartin/archive/2009/11/19/191-c-243-mo-funciona-autorun-autoplay-en-windows-7.aspx#comments</comments><description>&lt;p&gt;Una de las novedades de Windows 7 con respecto a la seguridad general del sistema es que en este sistema operativo est&amp;aacute; desactivada la funcionalidad Autorun para dispositivos USB. La funcionalidad Autorun&amp;nbsp;recientemente ha venido siendo usada por los autores de &lt;em&gt;malware&lt;/em&gt; para infectar dispositivos USB y a su vez intentar enga&amp;ntilde;ar al usuario para que ejecute c&amp;oacute;digo malicioso una vez inserte el dispositivo en su m&amp;aacute;quina. Por este motivo, Microsoft hizo un anuncio durante la beta de Windows 7 diciendo que la funcionalidad Autorun estar&amp;iacute;a desactivada para dispositivos USB (&lt;a href="http://blogs.msdn.com/e7/archive/2009/04/27/improvements-to-autoplay.aspx"&gt;http://blogs.msdn.com/e7/archive/2009/04/27/improvements-to-autoplay.aspx&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;En un foro una persona preguntaba qu&amp;eacute; implicaciones tendr&amp;iacute;a esto sobre las posibles personalizaciones que se aplican aprovechando la funcionalidad Autorun de los dispositivos &amp;oacute;pticos y extra&amp;iacute;bles, tales como cambiar el icono de la unidad y cambiar su etiqueta. Aprovechando la respuesta a esta cuesti&amp;oacute;n voy a describir tambi&amp;eacute;n en qu&amp;eacute; consisten los&amp;nbsp;mecanismos&amp;nbsp;Autorun y Autoplay en Windows 7.&lt;/p&gt;
&lt;p&gt;Autorun y Autoplay son dos conceptos parecidos pero no iguales, que hay que distinguir. En esta p&amp;aacute;gina de la documentaci&amp;oacute;n de Windows 7 puede ver cu&amp;aacute;les son las diferencias entre Autorun y Autoplay: &lt;a href="http://windows.microsoft.com/en-us/windows-vista/Whats-the-difference-between-AutoPlay-and-autorun"&gt;http://windows.microsoft.com/en-us/windows-vista/Whats-the-difference-between-AutoPlay-and-autorun&lt;/a&gt;. Cuando el usuario inserta un DVD en la unidad, un dispositivo USB, etc., una de las primeras cosas que hace el sistema es procesar el posible fichero Autorun.inf de la ra&amp;iacute;z del dispositivo. El fichero Autorun.inf tiene una serie de opciones de configuraci&amp;oacute;n que permiten cambiar el icono de la unidad, su etiqueta, el programa que ejecutar&amp;aacute; autom&amp;aacute;ticamente, etc. Esta lista recoge los posibles par&amp;aacute;metros&amp;nbsp;y los cambios que ha habido en Windows 7 con respecto a sistemas anteriores:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Open&lt;/strong&gt;: Programa que se abrir&amp;aacute; autom&amp;aacute;ticamente. En Windows 7 esto solo est&amp;aacute; soportado en unidades &amp;oacute;pticas (CD/DVD).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;ShellExecute&lt;/strong&gt;: Similar al caso de la opci&amp;oacute;n &lt;em&gt;Open&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Icon&lt;/strong&gt;: Icono asignado a la unidad. Soportado en Windows 7, y sobre&amp;nbsp;cualquier tipo de unidad compatible con Autorun.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Action&lt;/strong&gt;: En Windows 7 solo se tiene en cuenta para unidades &amp;oacute;pticas (CD/DVD).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Label&lt;/strong&gt;: Establece una etiqueta al volumen. Soportado en Windows 7, y sobre cualquier tipo de unidad compatible con Autorun.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As&amp;iacute; pues, Windows 7 desactiva Autorun para toda unidad que no sea de CD/DVD, excepto si se trata de los inofensivos par&amp;aacute;metros &lt;em&gt;Icon&lt;/em&gt; y &lt;em&gt;Label&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Para optimizar el rendimiento, conforme el sistema va analizando el fichero Autorun.inf, va almacenando su informaci&amp;oacute;n en la rama de Registro HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Explorer\MountPoints2\{CLSID}\_Autorun (donde CLSID identifica a un dispositivo particular). En Windows 7 y en el caso de dispositivos USB, tampoco se almacena esta informaci&amp;oacute;n en el Registro, excepto si se trata de los par&amp;aacute;metros &lt;em&gt;Icon&lt;/em&gt; y &lt;em&gt;Label&lt;/em&gt;, como ya se ha comentado.&lt;/p&gt;
&lt;p&gt;Una vez analizado el fichero Autorun.inf, el sistema establece en el men&amp;uacute; contextual de la unidad&amp;nbsp;el verbo (acci&amp;oacute;n) por defecto, que se mostrar&amp;aacute; al usuario en letra negrita y ser&amp;aacute; lo que ocurra por defecto al hacer doble clic sobre la unidad. N&amp;oacute;tese que esto no ocurre en Windows 7 en el caso de unidades extra&amp;iacute;bles.&lt;/p&gt;
&lt;p&gt;A continuaci&amp;oacute;n se comprueba si Autorun est&amp;aacute; habilitado o no para esa unidad en particular. Para ello se examina en la clave de Registro HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer si existiera alguna de estas directivas establecidas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NoDriveAutorun&lt;/li&gt;
&lt;li&gt;NoDrives&lt;/li&gt;
&lt;li&gt;NoDriveTypeAutorun&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La primera directiva desactiva Autorun para una unidad en particular; la segunda oculta la unidad en Explorador de Windows, por lo que autom&amp;aacute;ticamente se desactiva la reproducci&amp;oacute;n autom&amp;aacute;tica en la misma, y la tercera desactiva Autorun para un tipo particular de dispositivos (&amp;oacute;pticos, USB, etc.).&lt;/p&gt;
&lt;p&gt;Si al introducir un CD/DVD/USB en su sistema no se muestra un cuadro de reproducci&amp;oacute;n autom&amp;aacute;tica, deber&amp;iacute;a examinar en primer lugar estos tres valores de Registro, tanto en la rama HKCU, como en la HKLM. Programas como VMware Workstation aplican alguna de estas directivas para evitar que la reproducci&amp;oacute;n autom&amp;aacute;tica interfiera con el sistema que est&amp;aacute; siendo virtualizado.&lt;/p&gt;
&lt;p&gt;Otro de los factores que se comprueban y que influyen en que la reproducci&amp;oacute;n autom&amp;aacute;tica est&amp;eacute; desactivada&amp;nbsp;es que haya una aplicaci&amp;oacute;n DirectX funcionando a pantalla completa (por ejemplo un juego) o un salvapantallas. Asimismo, hay un valor de Registro que desactiva AutoPlay y que es configurable desde la interfaz gr&amp;aacute;fica, concretamente desde &lt;em&gt;Inicio&lt;/em&gt;, &lt;em&gt;Programas predeterminados&lt;/em&gt;, &lt;em&gt;Cambiar configuraci&amp;oacute;n de reproducci&amp;oacute;n autom&amp;aacute;tica&lt;/em&gt;, &lt;em&gt;Usar la reproducci&amp;oacute;n autom&amp;aacute;tica para todos los medios y dispositivos&lt;/em&gt;. Se trata del valor &lt;em&gt;DisableAutoplay&lt;/em&gt; de la clave HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers. Este es otro de los valores de Registro que deber&amp;iacute;a consultar si AutoPlay no funcionara correctamente.&lt;/p&gt;
&lt;p&gt;A continuaci&amp;oacute;n el sistema queda a la espera de que se mantenga pulsada la tecla &lt;em&gt;Shift&lt;/em&gt; (May&amp;uacute;sculas). El significado de esta tecla en versiones anteriores de Windows era el de desactivar la reproducci&amp;oacute;n autom&amp;aacute;tica temporalmente. En Windows Vista y Windows 7 esta tecla cambia radicalmente de significado. Sirve para que temporalmente se aplique la configuraci&amp;oacute;n por defecto para la reproducci&amp;oacute;n autom&amp;aacute;tica, es decir,&amp;nbsp;el usuario ver&amp;aacute; un cuadro de di&amp;aacute;logo con las posibles acciones, incluso si hay alguna aplicaci&amp;oacute;n que est&amp;eacute; desactivando la reproducci&amp;oacute;n autom&amp;aacute;tica (m&amp;aacute;s adelante se explicar&amp;aacute; c&amp;oacute;mo puede ocurrir eso).&lt;/p&gt;
&lt;p&gt;Si el sistema detecta que la tecla &lt;em&gt;Shift&lt;/em&gt; no est&amp;aacute; pulsada, comprueba si lo que ha ocurrido es que un programa de instalaci&amp;oacute;n ha pedido un CD/DVD al usuario y este lo ha introducido. En este tipo de&amp;nbsp;casos conviene no mostrar el cuadro de reproducci&amp;oacute;n autom&amp;aacute;tica al usuario.&amp;nbsp;El sistema comprueba esto viendo desde d&amp;oacute;nde se est&amp;aacute; ejecutando la aplicaci&amp;oacute;n que hay en primer plano. Si es desde el CD/DVD o desde el directorio temporal del usuario, supone que se trata de una instalaci&amp;oacute;n en curso y esto autom&amp;aacute;ticamente desactiva la reproducci&amp;oacute;n autom&amp;aacute;tica.&lt;/p&gt;
&lt;p&gt;Por &amp;uacute;ltimo, existe la posibilidad de que la aplicaci&amp;oacute;n que est&amp;eacute; ejecut&amp;aacute;ndose en primer plano&amp;nbsp;haya desactivado la reproducci&amp;oacute;n autom&amp;aacute;tica. Esto es &amp;uacute;til por ejemplo en el caso de aplicaciones multimedia, de instalaci&amp;oacute;n,&amp;nbsp;de grabaci&amp;oacute;n de CD,&amp;nbsp;etc. Para conseguir esto la aplicaci&amp;oacute;n en cuesti&amp;oacute;n implementa la interfaz &lt;a href="http://msdn.microsoft.com/en-us/library/bb761373(VS.85).aspx"&gt;IQueryCancelAutoPlay&lt;/a&gt;, tal y como se comenta en MSDN, y se a&amp;ntilde;ade a la clave de Registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\CancelAutoplay. Tambi&amp;eacute;n puede administrar el mensaje &lt;em&gt;QueryCancelAutoPlay&lt;/em&gt; que le env&amp;iacute;a el sistema a su ventana y decidir si quiere desactivar la reproducci&amp;oacute;n autom&amp;aacute;tica o no. A modo de ejemplo pr&amp;aacute;ctico, la utilidad de grabaci&amp;oacute;n de im&amp;aacute;genes ISO de Windows 7 utiliza este m&amp;eacute;todo para desactivar la reproducci&amp;oacute;n autom&amp;aacute;tica de la unidad seleccionada, temporalmente.&lt;/p&gt;
&lt;p&gt;El sistema de recolecci&amp;oacute;n de &lt;em&gt;feedback&lt;/em&gt; SQM (Service Quality Metrics) de Microsoft recopila informaci&amp;oacute;n detallada acerca de las causas por las cuales est&amp;aacute; desactivada la reproducci&amp;oacute;n autom&amp;aacute;tica en Windows, etc., con el fin de enviarlas a Microsoft para que se estudie c&amp;oacute;mo trabajan&amp;nbsp;millones de usuarios en todo el mundo y as&amp;iacute; poder mejorar el producto. Es importante comentar que la participaci&amp;oacute;n en este programa&amp;nbsp;de &lt;em&gt;feedback&lt;/em&gt;, que oficialmente recibe el nombre de &lt;em&gt;Windows Customer Experience Improvement Program&lt;/em&gt;&amp;nbsp;es completamente voluntaria y se puede activar desde &lt;em&gt;Inicio&lt;/em&gt;, escribiendo &lt;em&gt;CEIP&lt;/em&gt; en la caja de b&amp;uacute;squeda y seleccionando el &amp;iacute;tem de Panel de control ofrecido.&lt;/p&gt;
&lt;p&gt;En cuanto a AutoPlay, el sistema inspecciona el contenido del medio reci&amp;eacute;n insertado con el fin de presentar al usuario tareas espec&amp;iacute;ficas con el tipo de contenido que est&amp;aacute; tratando. En un primer momento, el sistema analiza el fichero Autorun.inf por si hubiera alguna gu&amp;iacute;a acerca del contenido de ese dispositivo. El fichero Autorun.inf admite&amp;nbsp;una&amp;nbsp;secci&amp;oacute;n como&lt;/p&gt;
&lt;p&gt;&lt;code&gt;
&lt;p&gt;[Content] &lt;/p&gt;
&lt;p&gt;MusicFiles = True &lt;/p&gt;
&lt;p&gt;PictureFiles = False &lt;/p&gt;
&lt;p&gt;VideoFiles = False&lt;/p&gt;
&lt;/code&gt;que le dir&amp;iacute;a al sistema que el medio contiene &amp;uacute;nicamente archivos de m&amp;uacute;sica, por lo que se mostrar&amp;iacute;an tareas orientadas&amp;nbsp;a tratar con m&amp;uacute;sica. Es importante resaltar que la secci&amp;oacute;n [Content]&amp;nbsp;es independiente de lo que haya realmente en el medio: Si el fichero Autorun.inf dice que no hay ficheros de v&amp;iacute;deo, la reproducci&amp;oacute;n autom&amp;aacute;tica no mostrar&amp;aacute; tareas relacionadas con el tratamiento de v&amp;iacute;deos, pese a que los haya en el medio. Otras dos secciones del fichero Autorun.inf que est&amp;aacute;n relacionadas con Autoplay son [ExclusiveContentPaths], que contiene las rutas que debe analizar el sistema para extraer el tipo de contenido que hay en el medio, e [IgnoreContentPaths], que contiene rutas que no ser&amp;aacute;n analizadas, pese a que sean subcarpetas de una ruta establecida en la secci&amp;oacute;n [ExclusiveContentPaths]. Estas &amp;uacute;ltimas secciones son &amp;uacute;tiles y recomendables para el caso de medios con una cantidad bastante considerable de contenido, pues el sistema se demorar&amp;aacute; recorriendo directorios que no contienen datos relevantes desde el punto de vista de la multimedia. Puede obtener m&amp;aacute;s informaci&amp;oacute;n sobre estas secciones del fichero Autorun.inf en el siguiente art&amp;iacute;culo de MSDN: &lt;a href="http://msdn.microsoft.com/en-us/library/cc144200(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/cc144200(VS.85).aspx&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Este art&amp;iacute;culo pretende ser un repaso general de las funcionalidades Autorun/AutoPlay de Windows 7, clarificando las dudas que hay sobre el fichero Autorun.inf en unidades USB en Windows 7, y haciendo hincapi&amp;eacute; en aquellos aspectos que pueden desactivar la reproducci&amp;oacute;n autom&amp;aacute;tica, por si en alg&amp;uacute;n momento tuviera que abordar un sistema con este problema.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740381" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Shell/default.aspx">Shell</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Consultas/default.aspx">Consultas</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Funcionamiento/default.aspx">Funcionamiento</category></item><item><title>¿En qué consiste una versión localizada de Windows Vista/7? [Parte I]</title><link>http://msmvps.com/blogs/dmartin/archive/2009/10/24/191-en-qu-233-consiste-una-versi-243-n-localizada-de-windows-vista-7.aspx</link><pubDate>Sat, 24 Oct 2009 20:24:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1734902</guid><dc:creator>dmartin</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/rsscomments.aspx?PostID=1734902</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/commentapi.aspx?PostID=1734902</wfw:comment><comments>http://msmvps.com/blogs/dmartin/archive/2009/10/24/191-en-qu-233-consiste-una-versi-243-n-localizada-de-windows-vista-7.aspx#comments</comments><description>&lt;p&gt;Una pr&amp;aacute;ctica que era com&amp;uacute;n en el desarrollo de&amp;nbsp;software de hace unos a&amp;ntilde;os&amp;nbsp;consist&amp;iacute;a en&amp;nbsp;mezclar el&amp;nbsp;c&amp;oacute;digo fuente de la aplicaci&amp;oacute;n&amp;nbsp;junto con&amp;nbsp;cadenas de texto y otros recursos (iconos, im&amp;aacute;genes, etc.). El siguiente diagrama&amp;nbsp;lo explica gr&amp;aacute;ficamente:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/0456.TextoEnCodigo.png"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/0456.TextoEnCodigo.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Conforme el mercado comenz&amp;oacute; a globalizarse fue surgiendo la necesidad de traducir aplicaciones a m&amp;uacute;ltiples idiomas, y por ende este m&amp;eacute;todo acab&amp;oacute; siendo completamente descartado por los siguientes motivos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Para traducir una aplicaci&amp;oacute;n primero hay que crear una o m&amp;aacute;s copias de su&amp;nbsp;c&amp;oacute;digo fuente, con el consecuente coste a&amp;ntilde;adido que supone el mantenerlas.&lt;/li&gt;
&lt;li&gt;Los traductores, que por lo general no tienen conocimientos de programaci&amp;oacute;n, tienen que manipular el c&amp;oacute;digo fuente para traducir las cadenas de texto. Esto puede introducir errores en el funcionamiento de la aplicaci&amp;oacute;n.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Es en esta &amp;eacute;poca cuando el uso de una versi&amp;oacute;n en ingl&amp;eacute;s (o en el idioma nativo de la empresa que desarrollara ese programa) s&amp;iacute; pod&amp;iacute;a ofrecer ciertas ventajas con respecto al resto de idiomas. La posibilidad de introducir errores en el c&amp;oacute;digo mientras se traduc&amp;iacute;a&amp;nbsp;un programa&amp;nbsp;no era algo descabellado, todo ello debido a que la separaci&amp;oacute;n entre c&amp;oacute;digo fuente y cadenas de texto dependientes del idioma era insuficiente (en este caso particular, inexistente).&lt;/p&gt;
&lt;p&gt;Las versiones de Windows anteriores a Vista introdujeron una nueva arquitectura de localizaci&amp;oacute;n de binarios, con el objetivo de separar el c&amp;oacute;digo fuente (las instrucciones que acaba ejecutando el computador) de las cadenas de texto (mensajes informativos, errores, iconos, etc.). &lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/0871.CodigoSeparado.png"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/0871.CodigoSeparado.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Si bien esta arquitectura es v&amp;aacute;lida y sigue siendo usada por much&amp;iacute;simas aplicaciones hoy en d&amp;iacute;a, presenta algunas deficiencias que se magnifican en una empresa del tama&amp;ntilde;o de Microsoft: Por ejemplo, si se detecta un fallo de seguridad en un binario y se quiere desarrollar una actualizaci&amp;oacute;n de seguridad al respecto, como el c&amp;oacute;digo fuente y las&amp;nbsp;cadenas de texto est&amp;aacute;n en el mismo fichero (pese a estar separados entre s&amp;iacute;),&amp;nbsp;ser&amp;iacute;a necesario generar un par de decenas o m&amp;aacute;s de actualizaciones de seguridad, una para cada idioma en el que est&amp;aacute; disponible Windows. Esto retarda innecesariamente el desarrollo de actualizaciones de seguridad en varios idiomas, pues por lo general los errores de seguridad afectan &amp;uacute;nicamente&amp;nbsp;al c&amp;oacute;digo de la aplicaci&amp;oacute;n, no a las cadenas de texto y otros recursos que pudiera contener.&lt;/p&gt;
&lt;p&gt;Con Windows Vista se redise&amp;ntilde;&amp;oacute; en profundidad la arquitectura MUI (&lt;em&gt;Multilingual User Interface&lt;/em&gt;) que ya estaba presente en la versi&amp;oacute;n Professional de Windows XP (entre otros) para que las cadenas de texto y el c&amp;oacute;digo de las aplicaciones estuviera completamente separado, esto es, en ficheros diferentes.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/0028.BinariosSeparados.png"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/0028.BinariosSeparados.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Esta arquitectura MUI introducida con Windows Vista no solo beneficia a Microsoft y al usuario, que ya puede instalar un paquete de idiomas en una versi&amp;oacute;n de Windows&amp;nbsp;que no est&amp;eacute; en ingl&amp;eacute;s, tambi&amp;eacute;n beneficia a los desarrolladores de aplicaciones, pues por f&amp;iacute;n disponen de una arquitectura proporcionada por el sistema operativo para manejar recursos en m&amp;uacute;ltiples idiomas, sin ser ya necesario que se construyan una desde cero.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;iquest;Qu&amp;eacute; ocurre al instalar Windows Vista/7?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;En un &lt;a target="_blank" href="http://rinconwindows.blogspot.com/2007/04/detalles-sobre-la-instalacin-de-windows.html"&gt;art&amp;iacute;culo&lt;/a&gt; de mi antiguo &lt;em&gt;blog&lt;/em&gt; tengo&amp;nbsp;informaci&amp;oacute;n que explica resumidamente en qu&amp;eacute; consisten las fases de la instalaci&amp;oacute;n de Windows Vista. B&amp;aacute;sicamente lo que ocurre es que en primer lugar se instalan los binarios del sistema (independientes del idioma), y seguidamente se instala uno o varios paquetes de idiomas. Como ve, el ingl&amp;eacute;s no recibe ning&amp;uacute;n tipo de trato preferencial, se le trata como un idioma m&amp;aacute;s. La fase correspondiente a la instalaci&amp;oacute;n del paquete de idiomas inicial se realiza durante la fase&amp;nbsp;&amp;quot;Instalando caracter&amp;iacute;sticas&amp;quot;.&lt;/p&gt;
&lt;p&gt;En Windows Vista la herramienta encargada de instalar un paquete de idiomas es la denominada Package Manager (Pkgmgr.exe). En Windows 7, se usa la herramienta Dism (&lt;em&gt;Deployment Image Servicing and Imaging&lt;/em&gt;), que integra&amp;nbsp;todas las&amp;nbsp;funcionalidades de Package Manager y de otras&amp;nbsp;herramientas igualmente relacionadas con la administraci&amp;oacute;n de im&amp;aacute;genes de instalaci&amp;oacute;n.&lt;/p&gt;
&lt;p&gt;En este primer art&amp;iacute;culo se ha explicado&amp;nbsp;c&amp;oacute;mo ha ido evolucionando&amp;nbsp;la localizaci&amp;oacute;n del software a lo largo del&amp;nbsp;tiempo y se ha aclarado que en Windows Vista&amp;nbsp;y Windows 7 los binarios est&amp;aacute;n completamente separados&amp;nbsp;de las cadenas de texto, con las ventajas que esto conlleva. Esto implica tambi&amp;eacute;n que Vista/7 sean sistemas idependientes del idioma en el que se utilicen; el ingl&amp;eacute;s es un idioma como otro cualquiera.&lt;/p&gt;
&lt;p&gt;En un siguiente art&amp;iacute;culo se explicar&amp;aacute; en detalle en qu&amp;eacute; consiste exactamente un paquete de idiomas&amp;nbsp;y qu&amp;eacute; es lo que conforma la infraestructura MUI de Windows Vista/7. Se explicar&amp;aacute; tambi&amp;eacute;n c&amp;oacute;mo el sistema obtiene los recursos en el idioma establecido por el usuario. Este aspecto puede ser importante para la gente que le interese saber c&amp;oacute;mo solucionar problemas con Windows, pues me he encontrado con&amp;nbsp;alg&amp;uacute;n que otro sistema cuyo s&amp;iacute;ntoma es que una determinada aplicaci&amp;oacute;n no muestra ning&amp;uacute;n tipo de interfaz gr&amp;aacute;fica (es decir, no se abre)&amp;nbsp;y cuya causa es una configuraci&amp;oacute;n incorrecta de los recursos MUI de ese sistema.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1734902" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Consultas/default.aspx">Consultas</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Funcionamiento/default.aspx">Funcionamiento</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Multilingual+User+Interface+_2800_MUI_2900_/default.aspx">Multilingual User Interface (MUI)</category></item><item><title>Sobre el error "La operación solicitada requiere elevación" que puede devolver Runas.exe en Windows Vista/7</title><link>http://msmvps.com/blogs/dmartin/archive/2009/10/03/sobre-runas-exe-en-windows-7.aspx</link><pubDate>Sun, 04 Oct 2009 01:32:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1724594</guid><dc:creator>dmartin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/rsscomments.aspx?PostID=1724594</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/commentapi.aspx?PostID=1724594</wfw:comment><comments>http://msmvps.com/blogs/dmartin/archive/2009/10/03/sobre-runas-exe-en-windows-7.aspx#comments</comments><description>&lt;p&gt;En un foro que frecuento un usuario ten&amp;iacute;a el siguiente problema: Al intentar ejecutar como administrador un programa en Windows 7 usando el comando Runas.exe, le aparec&amp;iacute;a el siguiente mensaje de error:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;740: La operaci&amp;oacute;n solicitada requiere elevaci&amp;oacute;n.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ciertamente el usuario estaba proporcionando el nombre de usuario y la contrase&amp;ntilde;a de un usuario con privilegios administrativos as&amp;iacute; que... &amp;iquest;d&amp;oacute;nde estar&amp;iacute;a el problema?&lt;/p&gt;
&lt;p&gt;En primer lugar, vamos a analizar con calma lo que quiere decir el mensaje de error. El mensaje de error &amp;quot;La operaci&amp;oacute;n solicitada requiere elevaci&amp;oacute;n&amp;quot; est&amp;aacute; recogido en el fichero de cabecera Ntstatus.h del SDK de Windows Vista y posteriores. Concretamente est&amp;aacute; definido con el nombre de macro ERROR_ELEVATION_REQUIRED.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;iquest;Cu&amp;aacute;ndo se devuelve ese c&amp;oacute;digo de error durante el funcionamiento de Windows?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;En Windows los procesos se crean usando la API CreateProcess. Uno de los pasos que se siguen antes de crear un proceso en Windows Vista y posteriores es comprobar si el proceso en cuesti&amp;oacute;n necesita elevar sus privilegios o no. A la hora de determinar este aspecto, entran en juego, entre otros,&amp;nbsp;dos par&amp;aacute;metros: El nivel de ejecuci&amp;oacute;n (&lt;em&gt;runlevel&lt;/em&gt;) impuesto por el manifiesto de la propia aplicaci&amp;oacute;n, y el token del usuario que est&amp;aacute; lanzando ese programa. Existen tres posibles niveles de ejecuci&amp;oacute;n para una aplicaci&amp;oacute;n:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;asInvoker&lt;/em&gt;: El nivel de ejecuci&amp;oacute;n es el mismo que el del proceso padre.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;highestAvailable&lt;/em&gt;: El nivel de ejecuci&amp;oacute;n es el de mayores privilegios posibles, considerando el tipo de cuenta desde la&amp;nbsp;cual&amp;nbsp;se ejecuta el proceso.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;requireAdministrator&lt;/em&gt;: El nivel de ejecuci&amp;oacute;n es administrativo, independientemente de las dem&amp;aacute;s circunstancias.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esta tabla recoge de forma b&amp;aacute;sica las posibilidades:&lt;/p&gt;
&lt;table style="width:100%;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="width:239px;"&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Nivel de ejecuci&amp;oacute;n de la aplicaci&amp;oacute;n&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;&lt;em&gt;Token&lt;/em&gt; del usuario&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Requiere elevaci&amp;oacute;n o no&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:239px;"&gt;AsInvoker&lt;/td&gt;
&lt;td&gt;Cualquiera&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:239px;"&gt;highestAvailable&lt;/td&gt;
&lt;td&gt;Administrador &amp;quot;elevado&amp;quot;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:239px;"&gt;highestAvailable&lt;/td&gt;
&lt;td&gt;Administrador &amp;quot;est&amp;aacute;ndar&amp;quot;&lt;/td&gt;
&lt;td&gt;S&amp;iacute;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:239px;"&gt;highestAvailable&lt;/td&gt;
&lt;td&gt;Otro caso&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:239px;"&gt;requireAdministrator&lt;/td&gt;
&lt;td&gt;Administrador &amp;quot;elevado&amp;quot;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:239px;"&gt;requireAdministrator&lt;/td&gt;
&lt;td&gt;Otro caso&lt;/td&gt;
&lt;td&gt;S&amp;iacute;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Por administrador &amp;quot;elevado&amp;quot; me refiero a aquella cuenta con privilegios administrativos pero que, o bien ya ha elevado expl&amp;iacute;citamente sus privilegios (a trav&amp;eacute;s de un cuadro de UAC), o bien no tiene activada la caracter&amp;iacute;stica Modo de aprobaci&amp;oacute;n del administrador (&lt;em&gt;Admin Approval Mode&lt;/em&gt;). Esta caracter&amp;iacute;stica se puede desactivar desde Directiva de grupo, pero yo personalmente lo desaconsejo.&amp;nbsp;Un ejemplo de este tipo de cuentas es la cuenta &amp;quot;Administrador&amp;quot;, creada durante la instalaci&amp;oacute;n del sistema operativo. Recuerde que el resto de cuentas con privilegios administrativos poseen dos &lt;em&gt;tokens&lt;/em&gt;: uno limitado, con el que &amp;quot;act&amp;uacute;an&amp;quot; por defecto, y otro &amp;quot;administrativo&amp;quot;, que pueden aplicar si el usuario as&amp;iacute; lo indica a trav&amp;eacute;s de un cuadro de UAC.&lt;/p&gt;
&lt;p&gt;Una vez que CreateProcess falla (devuelve un valor distinto de 1) y el &amp;uacute;ltimo error se establece como ERROR_ELEVATION_REQUIRED (columna &amp;quot;Requiere elevaci&amp;oacute;n&amp;nbsp;o no&amp;quot; de la tabla anterior), es asunto del proceso padre el tratar convenientemente este error. Si no lo hace, se registrar&amp;aacute; en Visor de sucesos, apartado dedicado a UAC, un evento informando de que el proceso padre no trat&amp;oacute; apropiadamente el error&amp;nbsp;&lt;span lang="EN"&gt;ERROR_ELEVATION_REQUIRED.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN"&gt;&lt;strong&gt;&amp;iquest;Qu&amp;eacute; ocurre cuando se lanza una aplicaci&amp;oacute;n desde la l&amp;iacute;nea de comandos?&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN"&gt;Imaginemos que el usuario intenta ejecutar el desfragmentador de disco de Windows 7 usando para ello una sintaxis de Runas.exe como esta:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN"&gt;&lt;strong&gt;runas /u:UsuarioAdministrador dfrgui.exe&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN"&gt;&lt;/span&gt;&lt;span lang="EN"&gt;B&amp;aacute;sicamente la l&amp;iacute;nea de comandos detecta que no se trata de un comando interno, sino que se trata del programa Runas.exe, y por tanto&amp;nbsp;se dispone a ejecutarlo usando CreateProcess. Como Runas.exe no es un programa que est&amp;aacute; marcado para requerir elevaci&amp;oacute;n de privilegios, CreateProcess retorna &amp;eacute;xito.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN"&gt;Una vez que el planificador del sistema operativo&amp;nbsp;cede el control al proceso Runas.exe reci&amp;eacute;n creado, este se dispone a analizar su l&amp;iacute;nea de comandos. Se encuentra con una petici&amp;oacute;n de ejecutar Dfrgui.exe como si fuera el usuario administrador pasado como par&amp;aacute;metro. Sin embargo, Runas.exe&amp;nbsp;es poco&amp;nbsp;m&amp;aacute;s que un &amp;quot;envoltorio&amp;quot; de la API &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms682431(VS.85).aspx"&gt;CreateProcessWithLogonW&lt;/a&gt;, que a su vez es poco m&amp;aacute;s que un envoltorio de la API CreateProcess, pero pasando otro perfil de usuario distinto como par&amp;aacute;metro.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN"&gt;Durante su ejecuci&amp;oacute;n, CreateProcess determina que Dfrgui.exe requiere privilegios administrativos (puesto que as&amp;iacute; se lo indica su manifiesto), y por ello devuelve falso y establace el &amp;uacute;ltimo error como ERROR_ELEVATION_REQUIRED. Como Runas.exe es una herramienta que no est&amp;aacute; dise&amp;ntilde;ada para tratar apropiadamente ese error, simplemente lo devuelve por pantalla de la forma &amp;quot;740: La operaci&amp;oacute;n solicitada requiere elevaci&amp;oacute;n&amp;quot;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN"&gt;Una vez desvelado el misterio, resta por comentar un aspecto que a estas alturas quiz&amp;aacute; ya se haya planteado:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN"&gt;&lt;strong&gt;&amp;iquest;C&amp;oacute;mo es posible que ejecutando Dfrgui.exe desde la l&amp;iacute;nea de comandos -sin usar Runas.exe- s&amp;iacute; que aparezca un cuadro de UAC?&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN"&gt;El secreto est&amp;aacute; en que la l&amp;iacute;nea de comandos, antes de llamar a CreateProcess, informa al sistema de que va a tratar los posibles ERROR_ELEVATION_REQUIRED que puedan surgir. Esto lo consigue estableciendo unos atributos no documentados a la estructura &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms686329(VS.85).aspx"&gt;STARTUPINFOEX&lt;/a&gt;, que se pasa como par&amp;aacute;metro a la familia de API CreateProcess. Esto hace que no se registre el correspondiente error en el apartado UAC del Visor de sucesos. Seguidamente, la l&amp;iacute;nea de comandos, sabiendo que se trata de un programa que debe elevar sus privilegios, lo intenta ejecutar mediante la API &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/bb762154(VS.85).aspx"&gt;ShellExecuteEx&lt;/a&gt;. &lt;strong&gt;Esta API s&amp;iacute; muestra el correspondiente cuadro de UAC, as&amp;iacute; que es la v&amp;iacute;a apropiada para ejecutar una aplicaci&amp;oacute;n que requiera privilegios administrativos.&lt;/strong&gt;&lt;/span&gt;
&lt;p&gt;En resumen, me gustar&amp;iacute;a resaltar estos puntos&amp;nbsp;del tema del art&amp;iacute;culo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;En Windows Vista y Windows 7 la &amp;uacute;nica forma de ejecutar algo con privilegios administrativos es mediante un cuadro de UAC. No vale con poner el nombre de usuario y la contrase&amp;ntilde;a de un administrador en la l&amp;iacute;nea de comandos.&lt;/li&gt;
&lt;li&gt;Todo lo que se ejecute mediante la API CreateProcess, o alguna derivada de ella,&amp;nbsp;&lt;strong&gt;no har&amp;aacute; que aparezca un cuadro de UAC&lt;/strong&gt;. Un ejemplo de ello es la utilidad Runas.exe.&lt;/li&gt;
&lt;li&gt;Runas.exe, en Windows Vista/7, sirve para ejecutar una aplicaci&amp;oacute;n como si fuera otro usuario, &lt;strong&gt;pero no sirve para ejecutarla con mayores privilegios.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Si quiere que se ejecute una aplicaci&amp;oacute;n que requiere privilegios administrativos, &lt;strong&gt;use la API ShellExecuteEx&lt;/strong&gt;, o alguna de sus derivadas. Esta API s&amp;iacute; permite la aparici&amp;oacute;n de un cuadro de UAC para que el usuario eleve sus privilegios.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1724594" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Shell/default.aspx">Shell</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Consultas/default.aspx">Consultas</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Curiosidades/default.aspx">Curiosidades</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Consejos/default.aspx">Consejos</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Funcionamiento/default.aspx">Funcionamiento</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/UAC/default.aspx">UAC</category></item><item><title>¿Cuándo crea Windows un punto de restauración automático?</title><link>http://msmvps.com/blogs/dmartin/archive/2009/09/17/191-cu-225-ndo-crea-Windows-un-punto-de-restauraci-243-n-autom-225-tico.aspx</link><pubDate>Fri, 18 Sep 2009 02:31:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1723151</guid><dc:creator>dmartin</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/rsscomments.aspx?PostID=1723151</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/commentapi.aspx?PostID=1723151</wfw:comment><comments>http://msmvps.com/blogs/dmartin/archive/2009/09/17/191-cu-225-ndo-crea-Windows-un-punto-de-restauraci-243-n-autom-225-tico.aspx#comments</comments><description>&lt;p&gt;Una de las dudas que m&amp;aacute;s surgen entre los usuarios de Restaurar sistema es cada cu&amp;aacute;nto tiempo se crear&amp;aacute; un punto de restauraci&amp;oacute;n autom&amp;aacute;tico. Este art&amp;iacute;culo pretende dar una respuesta precisa a esta cuesti&amp;oacute;n para as&amp;iacute; esclarecer aquellos casos en los que el sistema no haya creado un punto de restauraci&amp;oacute;n desde hace tiempo.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Windows XP&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;En Windows XP cada hora una tarea interna del Programador de tareas se encarga de analizar si el sistema est&amp;aacute; inactivo, es decir, si no est&amp;aacute; haciendo uso de la CPU ni del subsistema de E/S. Si se diera el caso, se realizan dos posibles comprobaciones para determinar si se debe crear un punto de restauraci&amp;oacute;n autom&amp;aacute;tico:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si han pasado m&amp;aacute;s de 24 horas desde el &amp;uacute;ltimo punto de restauraci&amp;oacute;n, se crea uno autom&amp;aacute;ticamente. Este par&amp;aacute;metro (24 horas) es editable desde el Registro del sistema operativo, concretamente en la clave HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\SystemRestore, valor &lt;em&gt;RPGlobalInterval&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Si la sesi&amp;oacute;n actual de trabajo con el PC&amp;nbsp;est&amp;aacute; durando m&amp;aacute;s de X horas y el &amp;uacute;ltimo punto de restauraci&amp;oacute;n es m&amp;aacute;s antiguo, se crea un punto de restauraci&amp;oacute;n autom&amp;aacute;tico. Por defecto, esta configuraci&amp;oacute;n &lt;strong&gt;no est&amp;aacute; establecida&lt;/strong&gt;, pero puede hacerlo desde el Registro en la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore, valor &lt;em&gt;RPSessionInterval&lt;/em&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La comprobaci&amp;oacute;n de inactividad se realiza por defecto cada hora pero podr&amp;iacute;a variar dependiendo de los valores de ciertas pol&amp;iacute;ticas de energ&amp;iacute;a de su equipo. Eche un vistazo a los valores &lt;strong&gt;IdleTimeoutDc, IdleTimeoutAc&lt;/strong&gt; de esta p&amp;aacute;gina de MSDN:&lt;strong&gt; &lt;/strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa373239(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/aa373239(VS.85).aspx&lt;/a&gt;. Aprovechando la inactividad, Restaurar sistema realiza otras tareas, tales&amp;nbsp;como eliminar aquellos puntos de restauraci&amp;oacute;n cuyo tiempo de vida ya haya expirado, y de paso comprimir el almac&amp;eacute;n usando compresi&amp;oacute;n NTFS. Estas tareas se realizan solo si el equipo est&amp;aacute; conectado a la corriente el&amp;eacute;ctrica, para evitar que se agote la bater&amp;iacute;a en el caso de port&amp;aacute;tiles.&lt;/p&gt;
&lt;p&gt;Si quiere profundizar en el funcionamiento de la herramienta Restaurar sistema de Windows XP, eche un vistazo a esta serie de art&amp;iacute;culos de mi antiguo &lt;em&gt;blog&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://rinconwindows.blogspot.com/2007/02/cmo-funciona-restaurar-sistema-parte-i.html"&gt;http://rinconwindows.blogspot.com/2007/02/cmo-funciona-restaurar-sistema-parte-i.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://rinconwindows.blogspot.com/2007/03/cmo-funciona-restaurar-sistema-parte-ii.html"&gt;http://rinconwindows.blogspot.com/2007/03/cmo-funciona-restaurar-sistema-parte-ii.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Windows Vista/7&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;En Windows Vista/7 el nuevo Programador de tareas muestra informaci&amp;oacute;n detallada acerca de la tarea programada que crea un punto de restauraci&amp;oacute;n autom&amp;aacute;tico. Abra Programador de tareas, apartado \Microsoft\Windows\SystemRestore. La tarea &lt;em&gt;SR&lt;/em&gt; tiene como desencadenantes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El inicio del sistema.&lt;/li&gt;
&lt;li&gt;Diariamente a las 12 AM.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En esos instantes se ejecutar&amp;aacute; el comando %windir%\system32\rundll32.exe /d srrstr.dll,ExecuteScheduledSPPCreation.&lt;/p&gt;
&lt;p&gt;El modificador /d de Rundll32.exe ya lo trat&amp;eacute;&amp;nbsp;ligeramente &lt;a target="_blank" href="http://rinconwindows.blogspot.com/2007/10/sobre-el-mensaje-de-error-ha-ocurrido.html"&gt;en mi antiguo &lt;em&gt;blog&lt;/em&gt;&lt;/a&gt;: Se trata de un modificador que le dice a Rundll32.exe &amp;quot;ejecuta este comando y no captures las posibles excepciones que ocurran&amp;quot;. La funci&amp;oacute;n &lt;em&gt;ExecuteScheduledSPPCreation&lt;/em&gt; es la encargada de verificar si el punto de restauraci&amp;oacute;n m&amp;aacute;s antiguo tiene m&amp;aacute;s de 12 horas (la mitad que en el caso de XP) y, si as&amp;iacute; fuese, crear&amp;aacute; uno nuevo.&lt;/p&gt;
&lt;p&gt;Hay que tener en cuenta otras condiciones adicionales que puede observar en la pesta&amp;ntilde;a &lt;em&gt;Condiciones&lt;/em&gt;: El sistema debe estar inactivo durante al menos 10 minutos y adem&amp;aacute;s, en el caso de port&amp;aacute;tiles, debe estar conectado a la red el&amp;eacute;ctrica.&lt;/p&gt;
&lt;p&gt;Espero que este art&amp;iacute;culo haya aclarado sus dudas con respecto a la creaci&amp;oacute;n autom&amp;aacute;tica de puntos de restauraci&amp;oacute;n por parte de Windows. En resumen, si su sistema no genera periodicamente puntos de restauraci&amp;oacute;n puede deberse a:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El servicio Programador de tareas no est&amp;aacute; iniciado.&lt;/li&gt;
&lt;li&gt;El sistema no est&amp;aacute; inactivo durante los periodos de tiempo impuestos por Windows, seg&amp;uacute;n lo explicado anteriormente.&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1723151" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Consultas/default.aspx">Consultas</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Curiosidades/default.aspx">Curiosidades</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Funcionamiento/default.aspx">Funcionamiento</category></item><item><title>Sobre la nueva sintaxis del Panel de control en Windows Vista/Windows 7</title><link>http://msmvps.com/blogs/dmartin/archive/2009/09/11/sobre-la-nueva-sintaxis-del-panel-de-control-en-windows-vista-windows-7.aspx</link><pubDate>Fri, 11 Sep 2009 23:42:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1722676</guid><dc:creator>dmartin</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/rsscomments.aspx?PostID=1722676</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/commentapi.aspx?PostID=1722676</wfw:comment><comments>http://msmvps.com/blogs/dmartin/archive/2009/09/11/sobre-la-nueva-sintaxis-del-panel-de-control-en-windows-vista-windows-7.aspx#comments</comments><description>&lt;p&gt;Quiz&amp;aacute; ya se haya dado cuenta de que en Windows Vista/Windows 7&amp;nbsp;algunos m&amp;oacute;dulos del Panel de control que anteriormente estaban implementados en la cl&amp;aacute;sica forma de un fichero .cpl ahora lo est&amp;aacute;n en la forma de un fichero ejecutable (.exe). El motivo de este cambio es que con la introducci&amp;oacute;n de Control de cuentas de usuario (UAC),&amp;nbsp;se da el caso de que algunos de estos m&amp;oacute;dulos requieren privilegios administrativos para ejecutarse. Ve&amp;aacute;moslo con un ejemplo:&lt;/p&gt;
&lt;p&gt;El ejecutable DPIScaling.exe del&amp;nbsp;directorio \Windows\System32&amp;nbsp;implementa la opci&amp;oacute;n del&amp;nbsp;Panel de control que permite cambiar&amp;nbsp;la&amp;nbsp;escala DPI del sistema. Este m&amp;oacute;dulo requiere privilegios administrativos&amp;nbsp;para ejecutarse, como as&amp;iacute; indica su fichero de manifiesto. Para verlo pr&amp;aacute;cticamente, descargue Strings desde&amp;nbsp;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb897439.aspx"&gt;http://technet.microsoft.com/en-us/sysinternals/bb897439.aspx&lt;/a&gt;&amp;nbsp;y abra una&amp;nbsp;ventana de l&amp;iacute;nea de comandos en el directorio donde la&amp;nbsp;ha extra&amp;iacute;do. Introduzca este comando y pulse INTRO:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;strings %SystemRoot%\System32\DPIScaling.exe&amp;nbsp;| findstr /i requireAdministrator&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;La salida del comando, &lt;code&gt;level=&amp;quot;requireAdministrator&amp;quot;&lt;/code&gt;, nos indica que el ejecutable en cuesti&amp;oacute;n requerir&amp;aacute; privilegios administrativos cuando lo invoquemos. Otros posibles valores para el atributo level son:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;asInvoker:&lt;/em&gt; El ejecutable no requerir&amp;aacute; privilegios administrativos.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;highestAvailable:&lt;/em&gt; El ejecutable se ejecutar&amp;aacute; con los m&amp;aacute;ximos privilegios que le permita la cuenta de&amp;nbsp;usuario&amp;nbsp;desde la que ha sido invocado.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nombres can&amp;oacute;nicos en Windows Vista/Windows 7&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Esta reestructuraci&amp;oacute;n de buena parte de los elementos del Panel de control trajo consigo una de las novedades&amp;nbsp;que se introdujeron en&amp;nbsp;Windows Vista y que se han mantenido en&amp;nbsp;Windows 7: la posibilidad de abrir elementos del Panel de control usando un nombre can&amp;oacute;nico. Un nombre can&amp;oacute;nico es un nombre en ingl&amp;eacute;s, no traducible, que describe de manera cercana al usuario el cometido de ese elemento del Panel de control. Esto evita que el usuario tenga que aprender el nombre de ficheros .cpl, muchas veces cr&amp;iacute;pticos, y adem&amp;aacute;s permite separar el nombre del &amp;iacute;tem de su implementaci&amp;oacute;n, ya sea en un cl&amp;aacute;sico fichero .cpl o, ya sea en un fichero .dll o .exe.&lt;/p&gt;
&lt;p&gt;Por ejemplo, para abrir el panel Agregar o quitar programas de Windows Vista/Windows 7, se puede usar esta sintaxis:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;%windir%\system32\control.exe /name Microsoft.ProgramsAndFeatures&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;iquest;De d&amp;oacute;nde proviene ese nombre can&amp;oacute;nico, Microsoft.ProgramsAndFeatures?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Cuando el ejecutable Control.exe recibe el par&amp;aacute;metro /name seguido de un nombre can&amp;oacute;nico, se invoca a la funci&amp;oacute;n &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/bb775394(VS.85).aspx"&gt;IOpenControlPanel::Open&lt;/a&gt;, la cual&amp;nbsp;en primer lugar busca el elemento correspondiente del Panel de control al que se est&amp;aacute; haciendo referencia. Cabe destacar que el Panel de control es un directorio &lt;strong&gt;virtual&lt;/strong&gt; (no reside f&amp;iacute;sicamente en el disco, sino que est&amp;aacute; implementado por el &lt;em&gt;shell&lt;/em&gt;), situado en la clave de Registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace. El valor &lt;em&gt;(Predeterminado)&lt;/em&gt; de cada una de las subclaves de esa rama de Registro contiene el nombre con el que se mostrar&amp;aacute; en Panel de control (no el nombre can&amp;oacute;nico). Para encontrar la implementaci&amp;oacute;n de, digamos, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{0DF44EAA-FF21-4412-828E-260A8728E7F1} (&amp;iacute;tem de las propiedades de la barra de tareas y men&amp;uacute; Inicio), se accede a la clave de registro HKEY_CLASSES_ROOT\CLSID\{0DF44EAA-FF21-4412-828E-260A8728E7F1}, en la cual existe un valor de registro de nombre &lt;em&gt;System.ApplicationName&lt;/em&gt; y cuyo contenido es el nombre can&amp;oacute;nico: &lt;em&gt;Microsoft.TaskbarAndStartMenu&lt;/em&gt;. As&amp;iacute; pues, para abrir las propiedades de la barra de tareas y del men&amp;uacute; Inicio ya sabemos que&amp;nbsp;bastar&amp;iacute;a con ejecutar lo siguiente:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;%windir%\system32\control.exe /name Microsoft.TaskbarAndStartMenu&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Para ver qu&amp;eacute; es lo que realmente se ejecuta, eche un vistazo a la clave HKEY_CLASSES_ROOT\CLSID\{0DF44EAA-FF21-4412-828E-260A8728E7F1}\Shell\Open\Command.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cada &amp;iacute;tem del Panel de control puede implementar varias p&amp;aacute;ginas&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Podemos entender las p&amp;aacute;ginas como subsecciones espec&amp;iacute;ficas del &amp;iacute;tem del Panel de control. Para indicar una, debe usarse la sintaxis&lt;/p&gt;
&lt;p&gt;&lt;code&gt;%windir%\system32\control.exe /name &lt;em&gt;Nombre_can&amp;oacute;nico&lt;/em&gt; /page &lt;em&gt;P&amp;aacute;gina&lt;/em&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Ve&amp;aacute;moslo con un ejemplo:&lt;/p&gt;
&lt;p&gt;Con los conocimientos que hemos adquirido, nos resulta sencillo determinar que el &amp;iacute;tem Personalizar del Panel de control est&amp;aacute; implementado en la DLL Themecpl.dll. Es en esta DLL donde encontraremos informaci&amp;oacute;n acerca de las posibles p&amp;aacute;ginas de este &amp;iacute;tem, en la forma, como no, de fichero XML.&lt;/p&gt;
&lt;p&gt;Esta vez usaremos la aplicaci&amp;oacute;n gr&amp;aacute;fica Resource Hacker, que puede descargar gratuitamente desde &lt;a href="http://www.angusj.com/resourcehacker/"&gt;http://www.angusj.com/resourcehacker/&lt;/a&gt;. Al abrir el fichero Themecpl.dll en&amp;nbsp;esta aplicaci&amp;oacute;n,&amp;nbsp;nos encontramos con dos ficheros XML adicionales al t&amp;iacute;pico fichero de manifiesto (.manifest) que hab&amp;iacute;amos visto hasta ahora.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/7838.Tasks_5F00_CPL.PNG"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/550x494/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/7838.Tasks_5F00_CPL.PNG" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/7838.Tasks_5F00_CPL.PNG"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Este primer fichero XML especifica una serie de tareas que puede realizar el elemento del Panel de control &amp;quot;Personalizar&amp;quot;. Estas tareas (cambiar los colores, el fondo de pantalla, etc.) se muestran como enlaces de texto justo debajo del elemento del Panel de control (suponiendo que est&amp;eacute; configurado en la vista por categor&amp;iacute;as). Y lo que es m&amp;aacute;s importante, estas tareas son indizables por el sistema de b&amp;uacute;squeda de Windows Vista. Puede obtener m&amp;aacute;s informaci&amp;oacute;n en este art&amp;iacute;culo de MSDN: &lt;a href="http://msdn.microsoft.com/en-us/library/bb776840(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/bb776840(VS.85).aspx&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/0027.Paginas_5F00_CPL.PNG"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/0027.Paginas_5F00_CPL.PNG"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/550x494/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/0027.Paginas_5F00_CPL.PNG" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Esta segunda imagen hace referencia&amp;nbsp;al segundo fichero XML, que&amp;nbsp;es el que contiene la informaci&amp;oacute;n acerca de cada una de las p&amp;aacute;ginas que implementa este &amp;iacute;tem del Panel de control. Entre las etiquetas &lt;em&gt;&amp;lt;pagedefinition&amp;gt;&amp;lt;/pagedefinition&amp;gt;&lt;/em&gt; nos encontramos con una etiqueta &lt;em&gt;&amp;lt;properties&amp;gt;,&lt;/em&gt; que hace referencia a cada una de las p&amp;aacute;ginas. El atributo &lt;em&gt;canonicalName&lt;/em&gt; nos ofrece su nombre can&amp;oacute;nico.&lt;/p&gt;
&lt;p&gt;Como vemos, el &amp;iacute;tem &amp;quot;Personalizar&amp;quot; del Panel de control admite como sintaxis:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;%windir%\system32\control.exe /name Microsoft.Personalization /page pageColorization&lt;/code&gt; (para cambiar la configuraci&amp;oacute;n de color)&lt;/p&gt;
&lt;p&gt;&lt;code&gt;%windir%\system32\control.exe /name Microsoft.Personalization /page pageWallpaper&lt;/code&gt; (para cambiar el fondo de escritorio)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ejercicio&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ahora que ya sabe c&amp;oacute;mo escudri&amp;ntilde;ar en los &amp;iacute;tems del Panel de control con el fin de construir accesos directos lo m&amp;aacute;s directos posibles (valga la redundancia), le propongo como ejercicio que en un sistema Windows 7 averig&amp;uuml;e la sintaxis para un acceso directo al Monitor de confiabilidad, que como sabe en Windows 7 est&amp;aacute; algo escondido dentro del Centro de actividades (&lt;em&gt;Action Center&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Si se rinde, puede ver la soluci&amp;oacute;n&amp;nbsp;seleccionando texto a partir de aqu&amp;iacute;: &lt;span style="color:white;"&gt;control.exe /name&amp;nbsp;Microsoft.ActionCenter /page pageReliabilityView&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1722676" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Shell/default.aspx">Shell</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Consultas/default.aspx">Consultas</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Curiosidades/default.aspx">Curiosidades</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Funcionamiento/default.aspx">Funcionamiento</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Tips/default.aspx">Tips</category></item><item><title>Mecanismos de protección de integridad en Windows 2000/XP/Vista y 7: Windows File Protection y Windows Resource Protection</title><link>http://msmvps.com/blogs/dmartin/archive/2009/06/07/windo.aspx</link><pubDate>Sun, 07 Jun 2009 16:36:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1694452</guid><dc:creator>dmartin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/rsscomments.aspx?PostID=1694452</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/commentapi.aspx?PostID=1694452</wfw:comment><comments>http://msmvps.com/blogs/dmartin/archive/2009/06/07/windo.aspx#comments</comments><description>&lt;p&gt;Desde que sali&amp;oacute; a la luz Windows Vista, y ahora con las versiones preliminares de Windows 7, me he dado cuenta de que el n&amp;uacute;mero de problemas&amp;nbsp;cuya soluci&amp;oacute;n&amp;nbsp;implica el registro de una DLL (mediante el comando&lt;em&gt; regsvr32 nombreDLL&lt;/em&gt;) ha descendido notablemente en estos dos &amp;uacute;ltimos sistemas operativos. Una de las causas de esto, para m&amp;iacute;,&amp;nbsp;es la inclusi&amp;oacute;n de &lt;em&gt;Windows Resource Protection&lt;/em&gt; (WRP), mecanismo que garantiza la integridad de los componentes vitales del sistema operativo y que supone una tremenda mejora con respecto a &lt;em&gt;Windows File Protection&lt;/em&gt; (WFP), sistema de protecci&amp;oacute;n de archivos de sistema presente en Windows 2000 y XP.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Windows File Protection&lt;/em&gt; (WFP)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Windows 2000 y XP incorporaron una caracter&amp;iacute;stica denominada WFP (&lt;em&gt;Windows File Protection&lt;/em&gt;), encargada de proteger los archivos m&amp;aacute;s importantes del sistema operativo para evitar que sean modificados o eliminados.&lt;/p&gt;
&lt;p&gt;Su funcionamiento se basa en uno o varios hilos de tipo centinela residentes en el proceso Winlogon e implementados en la DLL Sfc_os.dll. Es decir,&amp;nbsp;estos hilos&amp;nbsp;est&amp;aacute;n al tanto de cualquier tipo de modificaci&amp;oacute;n que se realice sobre directorios del sistema (t&amp;iacute;picamente \System32 y \System32\drivers). Si hubiera cambiado alguna DLL de estos directorios, se&amp;nbsp;registra dicho suceso en una cola destinada a tal efecto. En ese momento se se&amp;ntilde;aliza un &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms686211(VS.85).aspx"&gt;evento&lt;/a&gt; que despierta a otro hilo encargado de realizar la verificaci&amp;oacute;n del correspondiente archivo y su recuperaci&amp;oacute;n&amp;nbsp;desde la cache (carpeta oculta&amp;nbsp;\WINDOWS\System32\dllcache). Si no estuviera en cache, se mostrar&amp;aacute; una interfaz al usuario inform&amp;aacute;ndole de tal situaci&amp;oacute;n e invit&amp;aacute;ndole a introducir el CD de Windows 2000/XP para intentar recuperar la versi&amp;oacute;n original del archivo.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Windows Resource Protection&lt;/em&gt; (WRP)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;La llegada de Windows Vista&amp;nbsp;supuso&amp;nbsp;que la estructura interna del sistema operativo cambiara radicalmente. Ahora el sistema operativo&amp;nbsp;est&amp;aacute; formado por componentes,&amp;nbsp;claves de Registro, manifiestos XML y ficheros binarios,&amp;nbsp;entre otras cosas, por lo que la aproximaci&amp;oacute;n empleada en versiones anteriores de Windows ya no pod&amp;iacute;a seguir siendo v&amp;aacute;lida. Este aspecto puede ser interpretado como una ventaja, pues si se desarrolla un sistema de protecci&amp;oacute;n para cada uno de los componentes del sistema operativo, ya no solo estaremos protegiendo ejecutables y DLL, como en Windows 2000/XP, sino que estaremos protegiendo tambi&amp;eacute;n claves de Registro y otro tipo de recursos que son igualmente vitales para el correcto funcionamiento del equipo. Este sistema de protecci&amp;oacute;n recibi&amp;oacute; el nombre de &lt;em&gt;Windows Resource Protection&lt;/em&gt; (WRP).&lt;/p&gt;
&lt;p&gt;Cada uno de los componentes que conforman el sistema operativo Windows Vista/Windows 7 contiene un fichero denominado manifiesto. Un manifiesto es un fichero de tipo XML que contiene informaci&amp;oacute;n espec&amp;iacute;fica sobre el componente, es decir,&amp;nbsp;archivos que lo componen, archivos de los que depende, claves de Registro, privilegios con los que se ejecutar&amp;aacute; por defecto, idioma, etc. Uno de estos posibles par&amp;aacute;metros (etiquetas XML) es la protecci&amp;oacute;n del recurso en cuesti&amp;oacute;n, etiqueta &amp;lt;systemProtection&amp;gt;&amp;lt;/systemProtection&amp;gt;.&amp;nbsp;Existen distintos valores&amp;nbsp;posibles&amp;nbsp;para el par&amp;aacute;metro &lt;em&gt;behavior&lt;/em&gt; (comportamiento) de esa etiqueta:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;readOnlyIgnoreWrites:&lt;/strong&gt; El recurso solo puede ser modificado por el sistema operativo, durante una instalaci&amp;oacute;n (servicio TrustedInstaller). Cualquier intento de escritura por parte de una aplicaci&amp;oacute;n ser&amp;aacute; descartado; es decir, se le informar&amp;aacute; de que la escritura se realiz&amp;oacute; con &amp;eacute;xito pero el fichero no se ver&amp;aacute; modificado.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;readOnlyFailWrites:&lt;/strong&gt; El recurso solo puede ser modificado por el sistema operativo, durante una instalaci&amp;oacute;n (servicio TrustedInstaller). Cualquier intento de escritura por parte de una aplicaci&amp;oacute;n tendr&amp;aacute; como consecuencia que reciba un error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OSOnlyIgnoreWrites:&lt;/strong&gt; Similar a readOnlyIgnoreWrites, pero las modificaciones las puede hacer cualquier componente del sistema operativo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OSOnlyFailWrites:&lt;/strong&gt; Similar a readOnlyFailWrites, pero las modificaciones las puede hacer cualquier componente del sistema operativo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;applicationVirtualized:&lt;/strong&gt; Cualquier cambio que se haga sobre el recurso supondr&amp;aacute; que el sistema operativo cree una copia privada a la aplicaci&amp;oacute;n que lo ha modificado. El recurso global no se ve modificado.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;userVirtualized:&lt;/strong&gt; Similar a applicationVirtualized pero la copia privada es por usuario, no por aplicaci&amp;oacute;n.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En el mismo fichero de manifiesto se indica tambi&amp;eacute;n qu&amp;eacute; descriptor de seguridad usar para dicho componente. Por ejemplo, la carpeta Winsxs de Windows Vista tiene este descriptor de seguridad:&lt;/p&gt;
&lt;li&gt;O:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464 &lt;/li&gt;
&lt;li&gt;G:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464 &lt;/li&gt;
&lt;li&gt;D:PAI 
&lt;ul&gt;
&lt;li&gt;(A;OICI;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464) &lt;/li&gt;
&lt;li&gt;(A;OICI;0x1200a9;;;BA) &lt;/li&gt;
&lt;li&gt;(A;OICI;0x1200a9;;;SY) &lt;/li&gt;
&lt;li&gt;(A;OICI;0x1200a9;;;BU)&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;p&gt;Donde S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464 es el SID de TrustedInstaller, un servicio encargado de instalar actualizaciones y componentes en Windows Vista y Windows 7.&lt;/p&gt;
&lt;p&gt;Vamos a explicar un poco el descriptor de seguridad: Las dos primeras l&amp;iacute;neas indican que el propietario (O, de &lt;em&gt;owner&lt;/em&gt;) como el grupo (G, de &lt;em&gt;group&lt;/em&gt;) es TrustedInstaller. La l&amp;iacute;nea D:PAI quiere decir que el DACL es protegido (es decir,&amp;nbsp;que no hereda&amp;nbsp;listas de control de acceso&amp;nbsp;o ACL)&amp;nbsp;y adem&amp;aacute;s&amp;nbsp;se hereda autom&amp;aacute;ticamente. A continuaci&amp;oacute;n se indica que TrustedInstaller tiene acceso total al recurso (FA, de&lt;em&gt; full access&lt;/em&gt;); el grupo de administradores, sistema y usuario (BA, SY y BU, respectivamente) tienen acceso gen&amp;eacute;rico de lectura/escritura. As&amp;iacute; pues, ni siquiera un administrador podr&amp;aacute; modificar el contenido del directorio Winsxs. Tan solo TrustedInstaller, con motivo de la instalaci&amp;oacute;n/desinstalaci&amp;oacute;n de actualizaciones, Service Packs o componentes opcionales de Windows podr&amp;aacute; modificar ese directorio. &lt;/p&gt;
&lt;p&gt;Si quiere saber m&amp;aacute;s sobre ACL y DACL le recomiendo el libro&lt;em&gt; Windows Internals&lt;/em&gt;, escrito por Mark Russinovich y David Solomon,&amp;nbsp;ya sea en su cuarta o su quinta edici&amp;oacute;n.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ve&amp;aacute;moslo con un ejemplo&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Abriendo el fichero de manifiesto del componente Bloc de notas de Windows Vista podemos observar entre otras cosas&amp;nbsp;lo siguiente:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;
&lt;p&gt;&amp;lt;dependentAssembly&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;assemblyIdentity name=&amp;quot;Microsoft-Windows-Kernel32&amp;quot; version=&amp;quot;6.0.6001.18000&amp;quot; processorArchitecture=&amp;quot;x86&amp;quot; language=&amp;quot;neutral&amp;quot; buildType=&amp;quot;release&amp;quot; publicKeyToken=&amp;quot;31bf3856ad364e35&amp;quot; versionScope=&amp;quot;nonSxS&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependentAssembly&amp;gt;&lt;/p&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Aqu&amp;iacute; se hace referencia a que Bloc de notas depende del componente Microsoft-Windows-Kernel32 (que contiene entre otras cosas la DLL Kernel32.dll) para funcionar correctamente.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;
&lt;p&gt;&amp;lt;systemProtection xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v3&amp;quot; behavior=&amp;quot;readOnlyFailWrites&amp;quot; perUserVirtualization=&amp;quot;Disabled&amp;quot; /&amp;gt;&lt;/p&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Aqu&amp;iacute; se hace referencia a que cualquier intento de escritura sobre el componente Bloc de notas&amp;nbsp;dar&amp;aacute; como resultado un error y no se llevar&amp;aacute; a cabo la modificaci&amp;oacute;n. La virtualizaci&amp;oacute;n est&amp;aacute; desactivada, por tratarse de un componente de Windows.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;
&lt;p&gt;&amp;lt;shortCut arguments=&amp;quot;&amp;quot; destinationPath=&amp;quot;$(runtime.documentsSettings)\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories&amp;quot; destinationName=&amp;quot;Notepad.lnk&amp;quot; targetPath=&amp;quot;$(runtime.system32)\notepad.exe&amp;quot; iconPath=&amp;quot;$(runtime.system32)\notepad.exe,0&amp;quot; windowStyle=&amp;quot;normal&amp;quot; workingDirectory=&amp;quot;%HOMEDRIVE%%HOMEPATH%&amp;quot; description=&amp;quot;@%SystemRoot%\system32\Shell32.dll,-22563&amp;quot; displayResource=&amp;quot;$(runtime.system32)\shell32.dll,22051&amp;quot; /&amp;gt;&lt;/p&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Aqu&amp;iacute; se hace referencia a la configuraci&amp;oacute;n del acceso directo al bloc de notas que hay en el men&amp;uacute; Inicio.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;
&lt;p&gt;&amp;lt;registryKey keyName=&amp;quot;HKEY_CLASSES_ROOT\Applications\notepad.exe\shell\open\command&amp;quot; owner=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;registryValue name=&amp;quot;&amp;quot; valueType=&amp;quot;REG_EXPAND_SZ&amp;quot; value=&amp;quot;%SystemRoot%\system32\NOTEPAD.EXE %1&amp;quot; operationHint=&amp;quot;replace&amp;quot; owner=&amp;quot;true&amp;quot; /&amp;gt;&lt;/p&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Aqu&amp;iacute; se hace referencia a una de las claves de Registro gobernadas por Bloc de notas, la correspondiente a las asociaciones de ficheros.&lt;/p&gt;
&lt;p&gt;Como puede observar, la integridad del sistema operativo fue uno de los objetivos principales para Microsoft mientras dise&amp;ntilde;aba Windows Vista. La protecci&amp;oacute;n de todos y cada uno de los recursos vitales del sistema operativo mediante &lt;em&gt;Windows Resource Protection&lt;/em&gt; (WRP) hacen que Windows Vista&amp;nbsp;y Windows 7 sean sistemas mucho&amp;nbsp;m&amp;aacute;s estables y robustos que sus predecesores.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1694452" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Component-Based+Servicing+_2800_CBS_2900_/default.aspx">Component-Based Servicing (CBS)</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Funcionamiento/default.aspx">Funcionamiento</category></item><item><title>Nuevo artículo sobre el proceso Explorer.exe</title><link>http://msmvps.com/blogs/dmartin/archive/2009/04/10/nuevo-art-237-culo-sobre-el-proceso-explorer-exe.aspx</link><pubDate>Sat, 11 Apr 2009 02:26:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1686808</guid><dc:creator>dmartin</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/rsscomments.aspx?PostID=1686808</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/commentapi.aspx?PostID=1686808</wfw:comment><comments>http://msmvps.com/blogs/dmartin/archive/2009/04/10/nuevo-art-237-culo-sobre-el-proceso-explorer-exe.aspx#comments</comments><description>&lt;p&gt;He a&amp;ntilde;adido a mi p&amp;aacute;gina web&amp;nbsp;un art&amp;iacute;culo que explica&amp;nbsp;lo que ocurre cuando se ejecuta el comando Explorer.exe tanto sin par&amp;aacute;metros como con par&amp;aacute;metros, en sistemas XP y Vista. Se incluye toda la casu&amp;iacute;stica, lista completa de par&amp;aacute;metros soportados, c&amp;oacute;mo forzar la creaci&amp;oacute;n de un nuevo proceso, etc. El art&amp;iacute;culo lo puede leer en la direcci&amp;oacute;n &lt;a href="http://winvista.mvps.org/Tema.aspx?ID=233"&gt;http://winvista.mvps.org/Tema.aspx?ID=233&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cualquier duda o sugerencia la puede hacer llegar a trav&amp;eacute;s de la secci&amp;oacute;n de comentarios de esta entrada o mediante el enlace Contact de la parte izquierda del &lt;em&gt;blog&lt;/em&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1686808" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Shell/default.aspx">Shell</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Funcionamiento/default.aspx">Funcionamiento</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Explorer/default.aspx">Explorer</category></item><item><title>Cómo funciona la herramienta Reparación de inicio de Windows Vista (Parte III)</title><link>http://msmvps.com/blogs/dmartin/archive/2009/03/01/c-243-mo-funciona-la-herramienta-reparaci-243-n-de-inicio-de-windows-vista-parte-iii.aspx</link><pubDate>Sun, 01 Mar 2009 14:58:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1673152</guid><dc:creator>dmartin</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/rsscomments.aspx?PostID=1673152</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/commentapi.aspx?PostID=1673152</wfw:comment><comments>http://msmvps.com/blogs/dmartin/archive/2009/03/01/c-243-mo-funciona-la-herramienta-reparaci-243-n-de-inicio-de-windows-vista-parte-iii.aspx#comments</comments><description>&lt;p&gt;En este art&amp;iacute;culo se va a describir&amp;nbsp;el arranque de los&amp;nbsp;sistemas operativos Windows Vista y Windows 7. Antes de comenzar, es necesario que veamos unas pinceladas del arranque de sistemas operativos anteriores, para poner el nuevo sistema de arranque en contexto.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;El proceso de arranque en Windows XP y anteriores&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;El proceso de arranque comienza cuando la BIOS de la m&amp;aacute;quina lee el primer sector del disco duro. Este sector (el sector de arranque), t&amp;iacute;picamente contiene una porci&amp;oacute;n de c&amp;oacute;digo denominada MBR (&lt;em&gt;Master Boot Record&lt;/em&gt;), pero podr&amp;iacute;a contener cualquier otro c&amp;oacute;digo ejecutable. En sistemas Windows XP y anteriores sistemas NT, dicho c&amp;oacute;digo apunta al fichero Ntldr mediante una cadena de tipo Unicode situada en una posici&amp;oacute;n fija de dicho primer sector del disco duro.&amp;nbsp;El archivo Ntldr&amp;nbsp;es el encargado&amp;nbsp;de leer el fichero Boot.ini, que contiene informaci&amp;oacute;n importante sobre&amp;nbsp;los sistemas que est&amp;aacute;n instalados y c&amp;oacute;mo se debe arrancar cada uno de ellos. Si procede, Ntldr muestra al usuario una lista de sistemas operativos para que elija alguno mediante las flechas de direcci&amp;oacute;n.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La nueva arquitectura de arranque&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;El problema principal&amp;nbsp;de este esquema primitivo de arranque es que se trata de un esquema enormemente dependiente del hardware.&amp;nbsp;Este problema se hizo patente cuando Intel desarroll&amp;oacute;, a mediados de los a&amp;ntilde;os 90, una nueva especificaci&amp;oacute;n para sus m&amp;aacute;quinas Itanium, con el objetivo de evitar las&amp;nbsp;limitaciones impuestas por el ya&amp;nbsp;vetusto sistema PC BIOS.&amp;nbsp;Esta especificaci&amp;oacute;n se denomin&amp;oacute; EFI (&lt;em&gt;Extended Firmware Interface&lt;/em&gt;) y&amp;nbsp;b&amp;aacute;sicamente consiste en una interfaz entre el sistema operativo y&amp;nbsp;el &lt;em&gt;firmware&lt;/em&gt; de la m&amp;aacute;quina. EFI soporta tanto el esquema cl&amp;aacute;sico de particiones basado en MBR como el nuevo esquema GPT (&lt;em&gt;Guid Partition Table&lt;/em&gt;). La principal ventaja de este nuevo esquema es que no se ve afectado por las limitaciones de MBR, tales como el l&amp;iacute;mite de 4 particiones primarias por disco y los 2TB como m&amp;aacute;ximo por partici&amp;oacute;n.&lt;/p&gt;
&lt;p&gt;Con la salida al mercado de Windows Vista, Microsoft&amp;nbsp;introdujo un nuevo almac&amp;eacute;n de configuraci&amp;oacute;n de arranque denominado almac&amp;eacute;n BCD (&lt;em&gt;Boot Configuration Data&lt;/em&gt;). Podr&amp;iacute;amos decir que este almac&amp;eacute;n realiza las mismas funciones que el fichero Boot.ini realiza en sistemas Windows XP o anteriores. La diferencia fundamental reside en que el almac&amp;eacute;n BCD es independiente del hardware y es capaz de arrancar tanto sistemas PC BIOS tradicionales como sistemas basados en EFI. En el futuro podr&amp;iacute;a darse soporte a nuevos esquemas de arranque.&lt;/p&gt;
&lt;p&gt;La arquitectura del BCD est&amp;aacute; formada por tres componentes bien diferenciados: almac&amp;eacute;n BCD, objeto BCD y elemento BCD.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Almac&amp;eacute;n BCD&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;El almac&amp;eacute;n BCD es un contenedor de objetos BCD, entidad que a su vez contiene elementos BCD. F&amp;iacute;sicamente es un fichero binario con una estructura similar a los ficheros binarios que representan ramas del Registro del sistema. Su nombre es BCD&amp;nbsp;y&amp;nbsp;est&amp;aacute;&amp;nbsp;situado en el directorio \Boot (en un sistema PC BIOS) o \EFI\Microsoft\Boot (en un sistema EFI) de la partici&amp;oacute;n activa del disco.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Objetos BCD&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Por defecto, el almac&amp;eacute;n BCD contiene los siguientes objetos BCD:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Administrador de arranque de Windows&lt;/strong&gt;: Este objeto contiene entradas correspondientes a cada uno de los sistemas operativos instalados en la m&amp;aacute;quina. Tambi&amp;eacute;n existen par&amp;aacute;metros adicionales, tales como el tiempo de espera hasta que se seleccione la entrada por defecto de dicho&amp;nbsp;men&amp;uacute; o la ordenaci&amp;oacute;n de la lista de sistemas operativos. Podr&amp;iacute;amos decir que este objeto BCD reemplaza la funcionalidad de la porci&amp;oacute;n &lt;em&gt;[boot loader]&lt;/em&gt; del fichero Boot.ini.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cargador de arranque de Windows&lt;/strong&gt;: Existe un objeto BCD de este tipo por cada sistema Windows Vista/Windows 7 que est&amp;eacute; instalado en el equipo. Se podr&amp;iacute;a decir que este objeto reemplaza la funcionalidad de la secci&amp;oacute;n &lt;em&gt;[operating systems]&lt;/em&gt; del fichero Boot.ini.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ntldr&lt;/strong&gt;: Este objeto BCD es opcional y contiene la informaci&amp;oacute;n necesaria para arrancar sistemas Windows XP o anteriores. N&amp;oacute;tese que el fichero Ntldr no sirve para nada en Windows Vista/Windows 7, excepto para arrancar sistemas anteriores.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Adem&amp;aacute;s de estos objetos BCD, las aplicaciones pueden crear sus propios objetos utilizando la interfaz de programaci&amp;oacute;n del almac&amp;eacute;n BCD. Por ejemplo, la utilidad de comprobaci&amp;oacute;n de memoria RAM&amp;nbsp;incluida en el entorno de recuperaci&amp;oacute;n de Windows Vista/Windows 7 programa un an&amp;aacute;lisis de RAM mediante el ejecutable Mdsched.exe, que crea un nuevo objeto BCD que apunta al ejecutable \Boot\Memtest.exe (en sistemas PC BIOS) o \EFI\Microsoft\Boot\Memtest.efi (en sistemas EFI). Otras aplicaciones de terceros podr&amp;iacute;an crear sus propios objetos en el BCD.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Elementos BCD&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Los elementos BCD guardan los par&amp;aacute;metros de configuraci&amp;oacute;n de cada uno de los objetos BCD. Estos par&amp;aacute;metros,&amp;nbsp;como ya se ha&amp;nbsp;comentado,&amp;nbsp;pueden ser la existencia de un depurador de &lt;em&gt;kernel&lt;/em&gt;, el sistema operativo que iniciar&amp;aacute; por defecto, si se han activado las PAE (&lt;em&gt;Physical Address Extensions&lt;/em&gt;), etc.&lt;/p&gt;
&lt;p&gt;Este diagrama proporciona una visi&amp;oacute;n global de la arquitectura del BCD:&lt;/p&gt;
&lt;p&gt;&lt;img width="747" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/BCD.PNG" alt="Esquema de la arquitectura BCD" height="490" style="vertical-align:middle;" /&gt;&lt;/p&gt;
&lt;p&gt;Cada uno de los objetos BCD anteriores enlaza con un ejecutable diferente. Como ya se coment&amp;oacute;, el objeto BCD correspondiente al an&amp;aacute;lisis de memoria RAM enlaza con el ejecutable Memtest.exe o Memtest.efi. La entrada correspondiente al arranque de un sistema Windows Vista/Windows 7 enlaza con el ejecutable Winload.exe o Winload.efi, encargado de inicializar el n&amp;uacute;cleo del sistema operativo mediante Ntoskrnl.exe y cargar algunos controladores de arranque. Si el sistema&amp;nbsp;hibern&amp;oacute; por &amp;uacute;ltima vez, un objeto BCD apuntar&amp;aacute; al ejecutable Winresume.exe o Winresume.efi, que es el encargado de reanudar el sistema operativo para dejarlo tal cual estaba antes de ser hibernado.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;iquest;Qu&amp;eacute; hace la herramienta Reparaci&amp;oacute;n de inicio si se encuentra con alg&amp;uacute;n problema?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Si alguna de las estructuras comentadas anteriormente se ha&amp;nbsp;da&amp;ntilde;ado, el sistema no podr&amp;aacute; arrancar. La herramienta Reparaci&amp;oacute;n del inicio habr&amp;aacute; obtenido toda la informaci&amp;oacute;n mediante su conjunto inicial de pruebas. Si la tabla de particiones, sector de arranque o almac&amp;eacute;n BCD estuviera da&amp;ntilde;ado, el ejecutable BCDMD (&lt;em&gt;Boot Critical Disk Meta-data Repair&lt;/em&gt;) se encarga de regenerar toda esta informaci&amp;oacute;n. Esta herramienta b&amp;aacute;sicamente realiza un an&amp;aacute;lisis en busca de sistemas operativos, a la vez que compara esta informaci&amp;oacute;n con la residente en el almac&amp;eacute;n BCD. Si&amp;nbsp;la informaci&amp;oacute;n del BCD no fuera coherente, esta herramienta es capaz de modificarla para que lo sea. Si los ficheros Winload.exe o Bootmgr no estuvieran o estuvieran da&amp;ntilde;ados, Reparaci&amp;oacute;n de inicio puede recuperarlos en ciertas circunstancias, como ya vimos, mediante el comando &lt;em&gt;Bfsvc.exe /nosetupcheck&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Otro de los problemas que puede afectar al arranque del sistema, como ya vimos, es una corrupci&amp;oacute;n de los ficheros de sistema o bien un problema de permisos sobre ciertos ficheros importantes. Para el primer caso, Reparaci&amp;oacute;n del inicio ejecuta el comando Sfc.exe, cuyo funcionamiento se describi&amp;oacute; en un anterior art&amp;iacute;culo. Para el segundo caso, la herramienta reconstruye los permisos correctos, teniendo en cuenta que los ficheros del sistema operativo tienen una serie de permisos por defecto, para evitar su accidental eliminaci&amp;oacute;n o sobreescritura.&lt;/p&gt;
&lt;p&gt;Si el Registro resultara estar corrupto, se puede recuperar a partir de la copia de seguridad del directorio %windir%\system32\config\RegBack. Si dicha copia tampoco estuviera en buen estado, se recurre a la copia con extensi&amp;oacute;n .old que hay en el mismo directorio. Sin embargo, ante una corrupci&amp;oacute;n del Registro la restauraci&amp;oacute;n del sistema se intenta aplicar siempre en primer lugar. El motivo es claro, las ramas de Registro del punto de restauraci&amp;oacute;n probablemente ser&amp;aacute;n m&amp;aacute;s recientes que las que hay en la carpeta RegBack. Solo se recurre a esta carpeta si no hubiera puntos de restauraci&amp;oacute;n disponible o estos no hubieran solucionado el problema.&lt;/p&gt;
&lt;p&gt;Haciendo referencia a los puntos de restauraci&amp;oacute;n, la herramienta elige el m&amp;aacute;s reciente que sea anterior a la causa que ha producido el fallo. Por ejemplo, si el usuario instal&amp;oacute; un controlador y el sistema dej&amp;oacute; de iniciar, Reparaci&amp;oacute;n del inicio intentar&amp;aacute; usar el punto de restauraci&amp;oacute;n m&amp;aacute;s reciente anterior a la instalaci&amp;oacute;n del controlador. Para el caso de un Registro corrupto, la herramienta prueba con el punto de restauraci&amp;oacute;n m&amp;aacute;s reciente que haya disponible.&lt;/p&gt;
&lt;p&gt;Espero que toda esta informaci&amp;oacute;n sobre el arranque de Windows Vista/Windows 7 y la herramienta Reparaci&amp;oacute;n del inicio les sirva para comprender un poco mejor c&amp;oacute;mo arranca el sistema operativo, qu&amp;eacute; estructuras est&amp;aacute;n asociadas al arranque, qu&amp;eacute; problemas pueden surgir y c&amp;oacute;mo los aborda la herramienta de Reparaci&amp;oacute;n del inicio.&lt;/p&gt;
&lt;p&gt;(Esta entrada ha sido programada. Daniel est&amp;aacute; en estos momentos en Redmond, Washington).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1673152" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Arranque/default.aspx">Arranque</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Funcionamiento/default.aspx">Funcionamiento</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Reparaci_26002300_243_3B00_n+de+inicio/default.aspx">Reparaci&amp;#243;n de inicio</category></item><item><title>Cómo funciona la herramienta Reparación de inicio de Windows Vista (Parte II)</title><link>http://msmvps.com/blogs/dmartin/archive/2009/02/03/c-243-mo-funciona-la-herramienta-reparaci-243-n-de-inicio-de-windows-vista-parte-ii.aspx</link><pubDate>Tue, 03 Feb 2009 11:48:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1668518</guid><dc:creator>dmartin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/rsscomments.aspx?PostID=1668518</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/commentapi.aspx?PostID=1668518</wfw:comment><comments>http://msmvps.com/blogs/dmartin/archive/2009/02/03/c-243-mo-funciona-la-herramienta-reparaci-243-n-de-inicio-de-windows-vista-parte-ii.aspx#comments</comments><description>&lt;p&gt;En la &lt;a target="_blank" href="http://msmvps.com/blogs/dmartin/archive/2008/12/19/c-243-mo-funciona-la-herramienta-reparaci-243-n-de-inicio-de-windows-vista-parte-i.aspx"&gt;parte primera&lt;/a&gt; de esta serie de art&amp;iacute;culos sobre la herramienta Reparaci&amp;oacute;n de inicio de Windows Vista&amp;nbsp;se trat&amp;oacute; con detalle el conjunto de pruebas iniciales que realiza esta aplicaci&amp;oacute;n, as&amp;iacute; como las conclusiones que extrae en funci&amp;oacute;n de los signos experimentados en el sistema. Estas pruebas iniciales se centran principalmente&amp;nbsp;en la primera fase del arranque del sistema operativo, pues lo m&amp;aacute;s normal es que si hay un problema que impida que un equipo se inicie, tenga que ver con el disco en s&amp;iacute;, con el MBR, con la tabla de particiones, con&amp;nbsp;el sector de arranque, etc. &lt;/p&gt;
&lt;p&gt;A continuaci&amp;oacute;n se comentar&amp;aacute; sobre&amp;nbsp;el resto de comprobaciones que siguen&amp;nbsp;a las pruebas iniciales si estas&amp;nbsp;no han dado con una posible causa.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pruebas adicionales&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Como ya vimos, si el sistema no ha sido capaz de iniciarse y tanto el administrador de arranque como el cargador de arranque de Windows Vista no han reportado ning&amp;uacute;n error, es de suponer que el problema probablemente est&amp;eacute; encuadrado en alguna fase posterior del arranque del sistema operativo. Si se detecta que ha sucedido una pantalla azul (&lt;em&gt;bugcheck&lt;/em&gt;), la herramienta trata de realizar un an&amp;aacute;lisis rudimentario del volcado de memoria resultante. Si no es capaz de extraer ninguna conclusi&amp;oacute;n, supone sencillamente que es un controlador mal dise&amp;ntilde;ado el culpable del problema. &lt;/p&gt;
&lt;p&gt;En el caso de que no haya sucedido ninguna pantalla azul durante el &amp;uacute;ltimo intento de arranque, el siguiente conjunto de pruebas tiene como objetivo detectar un posible fallo que anterior a la inicializaci&amp;oacute;n del sistema de ficheros. Un fallo de este tipo por lo general tiene que ver con permisos incorrectos&amp;nbsp;sobre ficheros importantes&amp;nbsp;del sistema operativo, o bien con un sistema de archivos corrupto. En el primer caso, lo que se hace es comparar los permisos de los ficheros de los directorios %windir%\system32 y %windir%\system32\drivers con los permisos&amp;nbsp;originales tras una instalaci&amp;oacute;n limpia de Windows Vista. Los permisos originales sobre ficheros de sistema en Windows Vista son un tanto peculiares; esto tiene que ver con la caracter&amp;iacute;stica WRP (&lt;em&gt;Windows Resource Protection&lt;/em&gt;), que se tratar&amp;aacute; en un posterior art&amp;iacute;culo. La corrupci&amp;oacute;n en el disco se analiza con la conocida herramienta Chkdsk.&lt;/p&gt;
&lt;p&gt;Si las pruebas anteriores no sacan nada en claro,&amp;nbsp;Reparaci&amp;oacute;n de inicio&amp;nbsp;investiga si el usuario ha instalado alguna actualizaci&amp;oacute;n o alg&amp;uacute;n controlador tras el &amp;uacute;ltimo inicio correcto del sistema. Para ello repasa los eventos del Visor de sucesos, f&amp;iacute;sicamente disponible en la ruta %windir%\System32\winevt\Logs. Si se ha instalado un controlador y/o actualizaci&amp;oacute;n, la herramienta supone autom&amp;aacute;ticamente que es la causa del problema, sin realizar m&amp;aacute;s pruebas.&lt;/p&gt;
&lt;p&gt;Y con esto finalizan las pruebas que realiza la herramienta Reparaci&amp;oacute;n de inicio en Windows Vista y Windows Server 2008. Si tras todas las comprobaciones no se&amp;nbsp;hubiera dado a&amp;uacute;n con el culpable, el sistema registra este hecho e intentar&amp;aacute; una restauraci&amp;oacute;n del sistema como &amp;uacute;ltimo recurso.&lt;/p&gt;
&lt;p&gt;En el siguiente art&amp;iacute;culo de la serie se tratar&amp;aacute;n los arreglos que realiza la herramienta Reparaci&amp;oacute;n de inicio, seg&amp;uacute;n el problema que haya detectado. Ser&amp;aacute; un art&amp;iacute;culo en el que tambi&amp;eacute;n se explique detalladamente el arranque de Windows Vista, que ha cambiado bastante&amp;nbsp;con respecto a sistemas NT anteriores (XP, 2000, NT).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1668518" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Arranque/default.aspx">Arranque</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Funcionamiento/default.aspx">Funcionamiento</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Reparaci_26002300_243_3B00_n+de+inicio/default.aspx">Reparaci&amp;#243;n de inicio</category></item><item><title>Cómo funciona la herramienta Reparación de inicio de Windows Vista (Parte I)</title><link>http://msmvps.com/blogs/dmartin/archive/2008/12/19/c-243-mo-funciona-la-herramienta-reparaci-243-n-de-inicio-de-windows-vista-parte-i.aspx</link><pubDate>Fri, 19 Dec 2008 18:31:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1657280</guid><dc:creator>dmartin</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/rsscomments.aspx?PostID=1657280</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/dmartin/commentapi.aspx?PostID=1657280</wfw:comment><comments>http://msmvps.com/blogs/dmartin/archive/2008/12/19/c-243-mo-funciona-la-herramienta-reparaci-243-n-de-inicio-de-windows-vista-parte-i.aspx#comments</comments><description>&lt;p&gt;No es extra&amp;ntilde;o encontrarse de vez en cuando con un sistema operativo que ni siquiera es capaz de arrancar. En esos casos el usuario, al no tener apenas nada para poder operar y tratar de solucionar el problema, suele recurrir a un servicio t&amp;eacute;cnico o bien reinstala el sistema operativo. Para evitar situaciones como &amp;eacute;sta, Microsoft incorpor&amp;oacute; en Windows Vista una nueva herramienta especializada en el diagn&amp;oacute;stico y la&amp;nbsp;soluci&amp;oacute;n de la mayor&amp;iacute;a de problemas que afectan al correcto arranque del sistema: Reparaci&amp;oacute;n de inicio (&lt;em&gt;Startup Repair&lt;/em&gt;). &amp;iquest;Pero qu&amp;eacute; hace exactamente esta herramienta? &amp;iquest;En qu&amp;eacute; casos nos podr&amp;iacute;a servir y en cu&amp;aacute;les no? Explicar en detalle el funcionamiento de la herramienta es el motivo de este art&amp;iacute;culo.&lt;/p&gt;
&lt;p&gt;&lt;img width="337" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/SRT.PNG" alt="Herramienta Reparaci&amp;oacute;n de inicio" height="251" style="vertical-align:middle;" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Introducci&amp;oacute;n&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Reparaci&amp;oacute;n de inicio consiste gr&amp;aacute;ficamente&amp;nbsp;en un asistente implementado en el ejecutable StartupRep.exe del directorio \Windows\System32. Para poder&amp;nbsp;iniciar la herramienta es necesario que&amp;nbsp;el equipo arranque en el entorno de recuperaci&amp;oacute;n de Windows (&lt;em&gt;Windows Recovery Environment&lt;/em&gt;). Este entorno es la evoluci&amp;oacute;n de la Consola de recuperaci&amp;oacute;n presente en Windows anteriores. Para iniciar el sistema dentro del entorno de recuperaci&amp;oacute;n, hay que arrancar el sistema&amp;nbsp;desde el DVD de Vista y seleccionar &lt;em&gt;Opciones de recuperaci&amp;oacute;n del sistema&lt;/em&gt;. En la lista de herramientas disponibles, la primera es &lt;em&gt;Reparaci&amp;oacute;n de inicio&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;La aproximaci&amp;oacute;n que sigue la herramienta Reparaci&amp;oacute;n de inicio es la que seguir&amp;iacute;a un m&amp;eacute;dico que est&amp;aacute; atendiendo a un paciente. Cuenta con una bater&amp;iacute;a de comprobaciones para tratar de averiguar la causa del problema que est&amp;aacute; provocando que el sistema no arranque. Una vez determinada la o las posibles causas, la herramienta incorpora una serie de reparaciones que podr&amp;iacute;an solucionar el problema. Si la primera no lo soluciona, se pasa a la siguiente, y as&amp;iacute; sucesivamente. El orden de aplicaci&amp;oacute;n de las soluciones es algo que tambi&amp;eacute;n decide la herramienta en funci&amp;oacute;n de los m&amp;eacute;todos aplicados con anterioridad y del tipo de problema que el usuario est&amp;aacute; experimentando.&lt;/p&gt;
&lt;p&gt;Las comprobaciones que realiza la herramienta podr&amp;iacute;an dividirse en dos grandes grupos: Unas pruebas iniciales, centradas en las fases iniciales del arranque de la m&amp;aacute;quina, y una serie de pruebas m&amp;aacute;s avanzadas, que solamente se realizan si las pruebas iniciales no han dado con la causa del problema. Las reparaciones que se realizan una vez finalizado el diagn&amp;oacute;stico son tema de un pr&amp;oacute;ximo art&amp;iacute;culo.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pruebas iniciales&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Inicialmente, Reparaci&amp;oacute;n del inicio intenta detectar cu&amp;aacute;l es el disco de sistema (recuerde que &amp;eacute;ste es el disco que contiene los ficheros de arranque) y analiza, bas&amp;aacute;ndose en la tecnolog&amp;iacute;a SMART del disco, si hay alg&amp;uacute;n tipo error. Un fallo en este punto es un fallo de hardware y el usuario probablemente tendr&amp;aacute; que reemplazar f&amp;iacute;sicamente el disco o su cable.&lt;/p&gt;
&lt;p&gt;Seguidamente Reparaci&amp;oacute;n de inicio procede a analizar el disco en profundidad;&amp;nbsp;dos son&amp;nbsp;las estructuras que deben estar en perfecto estado para que el sistema arranque correctamente: la tabla de particiones y el sector de arranque de la partici&amp;oacute;n de sistema. Si por alg&amp;uacute;n motivo no se pudiera encontrar la partici&amp;oacute;n de sistema, esto&amp;nbsp;suele ser s&amp;iacute;ntoma de que la tabla de particiones est&amp;aacute; da&amp;ntilde;ada. Si se encontrara dicha partici&amp;oacute;n&amp;nbsp;pero no fuera legible, es posible que su sector de arranque est&amp;eacute; corrupto. Asimismo es importante que la partici&amp;oacute;n de sistema contenga dos ficheros cr&amp;iacute;ticos para el arranque: Bootmgr y Boot.ini.&lt;/p&gt;
&lt;p&gt;El siguiente punto a comprobar es que haya un sistema operativo en el disco. Para ello se examina el almac&amp;eacute;n BCD del disco. Este almac&amp;eacute;n contiene la informaci&amp;oacute;n necesaria para saber qu&amp;eacute; sistemas arrancar y c&amp;oacute;mo arrancarlos. Parte de la informaci&amp;oacute;n de este almac&amp;eacute;n se almacenaba en el fichero Boot.ini en versiones anteriores de Windows.&amp;nbsp;Una vez encontrado el sistema operativo, se comprueba la consistencia de los directorios m&amp;aacute;s importantes del mismo, tales como System32, System32\drivers, System32\config, etc. Por supuesto, el sistema operativo debe ser Windows Vista o Windows Server 2008. Reparaci&amp;oacute;n de inicio no es compatible con versiones anteriores de Windows.&lt;/p&gt;
&lt;p&gt;El fichero Bootmgr de la partici&amp;oacute;n de sistema es el administrador de arranque de Windows Vista y es un archivo&amp;nbsp;cr&amp;iacute;tico para que el sistema arranque correctamente. Si dicho fichero estuviera corrupto, Windows puede recuperarlo&amp;nbsp;copiando&amp;nbsp;de nuevo los archivos de arranque desde una carpeta de origen. El ejecutable Bfsvc.exe es el encargado de hacer&amp;nbsp;esto. Concretamente, Reparaci&amp;oacute;n de inicio llama a Bfsvc.exe mediante la siguiente sintaxis: &lt;em&gt;Bfsvc.exe&amp;nbsp;/nosetupcheck&lt;/em&gt;.&amp;nbsp;El&amp;nbsp;par&amp;aacute;metro /nosetupcheck&amp;nbsp;sirve para que Bfsvc.exe se ejecute incluso si el sistema est&amp;aacute; en proceso de instalaci&amp;oacute;n. Lo que hace Bfsvc.exe es b&amp;aacute;sicamente copiar los archivos de arranque desde&amp;nbsp;el directorio de or&amp;iacute;gen, que t&amp;iacute;picamente es C:\Windows\Boot.&lt;/p&gt;
&lt;p&gt;Si a&amp;uacute;n no se hubiera&amp;nbsp;encontrado la&amp;nbsp;posible causa del problema, se examina el fichero Bootstat.dat, un fichero que, entre otras cosas,&amp;nbsp;registra los inicios y apagados incorrectos del equipo. Es el encargado, por ejemplo, de hacerle saber al c&amp;oacute;digo de arranque de Windows que el sistema se apag&amp;oacute; incorrectamente para as&amp;iacute; mostrar por defecto&amp;nbsp;la pantalla de opciones de inicio avanzadas.&lt;/p&gt;
&lt;p&gt;Reparaci&amp;oacute;n de inicio tambi&amp;eacute;n&amp;nbsp;verifica la consistencia de las ramas del registro, por si hubiera alg&amp;uacute;n tipo de corrupci&amp;oacute;n. Las ramas del registro residen en el directorio&amp;nbsp;\Windows\System32\config y son las siguientes: SYSTEM, SOFTWARE, COMPONENTS y&amp;nbsp;SAM. Como veremos en un posterior art&amp;iacute;culo, hay varias formas de recuperar un registro corrupto en Windows Vista, y la herramienta sabr&amp;aacute; decidir qu&amp;eacute; m&amp;eacute;todo aplicar en cada caso. La rama COMPONENTS es nueva en Windows Vista y registra informaci&amp;oacute;n relacionada sobre los componentes instalados en Windows Vista.&amp;nbsp;Como esta informaci&amp;oacute;n tiene que ir en sincronismo con el almac&amp;eacute;n de componentes&amp;nbsp;(%windir%\winsxs), hay que tener cuidado a la hora de determinar si se debe reparar esa rama del registro o no.&lt;/p&gt;
&lt;p&gt;Por &amp;uacute;ltimo, si a&amp;uacute;n no se hubiera encontrado una causa del fallo tras todas las pruebas anteriores, es posible que el sistema sea incapaz de arrancar porque c&amp;iacute;clicamente aparece una pantalla azul. Si fuera el caso, Reparaci&amp;oacute;n de inicio es capaz de extraer la informaci&amp;oacute;n del volcado, residente en el archivo de paginaci&amp;oacute;n, y realizar un an&amp;aacute;lisis b&amp;aacute;sico para determinar al culpable. Por an&amp;aacute;lisis b&amp;aacute;sico se entiende que no se trata de un humano que est&amp;aacute; analizando el volcado de memoria, sino que&amp;nbsp;&amp;uacute;nicamente se&amp;nbsp;incorpora una correspondencia bastante simple entre algunos c&amp;oacute;digos de error grave (&lt;em&gt;bugchecks&lt;/em&gt;)&amp;nbsp;y su causa probable. Por ejemplo, el &lt;em&gt;bugcheck&lt;/em&gt; &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms795775.aspx"&gt;MACHINE_CHECK_EXCEPTION (0x9C)&lt;/a&gt; suele ser indicativo de un m&amp;oacute;dulo de RAM da&amp;ntilde;ado, por lo que es probable que ante este c&amp;oacute;digo de error Reparaci&amp;oacute;n de inicio decida analizar la memoria RAM en el siguiente reinicio mediante el ejecutable Memtest.exe. Otro c&amp;oacute;digo de error con causa bastante conocida es el KERNEL_STACK_INPAGE_ERROR (0x77), cuyo causante principal es un error f&amp;iacute;sico en el&amp;nbsp;disco (salvo cuando el primer par&amp;aacute;metro es 0, 1 &amp;oacute; 2, puede ver la descripci&amp;oacute;n de este &lt;em&gt;bugcheck&lt;/em&gt; en &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms794027.aspx"&gt;MSDN&lt;/a&gt;). Como podr&amp;aacute; adivinar, ante este c&amp;oacute;digo de error es muy probable que el tratamiento consista en analizar el disco con el comando Chkdsk.&lt;/p&gt;
&lt;p&gt;Si del c&amp;oacute;digo de error no se pudiera sacar nada en claro, la herramienta supone que el culpable del pantallazo azul es un controlador mal dise&amp;ntilde;ado.&lt;/p&gt;
&lt;p&gt;Una vez realizadas todas las pruebas iniciales, se anotan las posibles causas que se han detectado y se intenta reparar el problema siguiendo los m&amp;eacute;todos que se presentar&amp;aacute;n en un posterior art&amp;iacute;culo, junto con un conjunto adicional de pruebas, donde es menos probable que se detecte alg&amp;uacute;n fallo pero que se ejecutan si el conjunto inicial de pruebas no hubiera detectado ninguna anomal&amp;iacute;a en el equipo.&lt;/p&gt;
&lt;p&gt;Este diagrama de flujo resume el proceso&amp;nbsp;de an&amp;aacute;lisis&amp;nbsp;b&amp;aacute;sico&amp;nbsp;de problemas de arranque:&lt;/p&gt;
&lt;p&gt;&lt;img width="661" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dmartin/Diagrama_5F00_Reparacion_5F00_inicio.PNG" alt="Diagrama de flujo de los pasos b&amp;aacute;sicos de an&amp;aacute;lisis" height="792" style="vertical-align:middle;" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1657280" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Arranque/default.aspx">Arranque</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Funcionamiento/default.aspx">Funcionamiento</category><category domain="http://msmvps.com/blogs/dmartin/archive/tags/Reparaci_26002300_243_3B00_n+de+inicio/default.aspx">Reparaci&amp;#243;n de inicio</category></item></channel></rss>