Instalar Mac OS X en un netbook Samsug NC10, usando una partición del disco duro.

Situación:
Como ya hemos visto en el artículo anterior, disponemos del netbook Samsung NC10 con Windows 7 instalado, y ahora vamos a instalar Mac OS X. Nuestro objetivo es tener un arranque dual con ambos SO instalados.

Vamos a necesitar el siguiente software:
  • MSIwindosx86.iso, esta es la imagen del Mac que vamos a utilizar para la instalación, y que podemos encontrar sin problemas buscando por la red.
  • Leopard hd install helper, esta programa nos ayudara a volcar la imagen del SO a una partición del disco duro.

1º Paso : Preparar las particiones del disco duro.

En nuestro caso, ahora mismo tenemos 2 particiones, la partición de recuperación del sistema y la partición de Windows 7.

Utilizando el administrador de discos u otra herramienta, creamos una partición primaria, de tipo FAT32 donde vamos a instalar el Mac OS. Le asignamos un tamaño de 20 Gbytes y le ponemos como etiqueta : 'OSX'.

Creamos una segunda partición , con la etiqueta : 'Origen', de tipo Lógica, con un tamaño de 6 Gbytes. Es importante que le asignemos una letra de unidad, para que windows pueda trabajar con ella, pero no debemos formatearla.

2º Paso: Leopard hd install helper.

Ejecutamos el fichero ddmac.exe


Pulsamos el Botón.


Indicamos la ruta en la que esta la imagen del disco : MSIwindosx86.iso y Seleccionamos la unidad de partición de la unidad Origen, en la imagen "Install".

Si la partición es del tipo adecuado, veremos como nos indica el tamaño de la partición y el tamaño de la imagen. Pulsamos el botón, y se lanza el proceso que vuelca el contenido de la imagen a la partición.

Si tenemos algun problema en este paso, posiblemente será porque hemos formateado la partición Origen.
Tras unos 5 o 10 min, veremos esta ventana de resumen.

Ahora vamos a utilizar el comando diskpart en una ventana de comandos, para realizar unos ajustes sobre la partición Origen. Si no realizamos estos ajustes, seguramente tendremos problemas al intentar reiniciar desde esta partición.


1-. Seleccionamos el disco duro : SELECT DISK 0
2-. Seleccionamos la partición Origen : SELECT PARTITION 2
3-. La marcamos, como partición Active para el arranque del sistema : ACTIVE
4-. Cambiamos el tipo de la partición : SET ID=AF


3º Paso: Reinicio e instalación de Mac OS Leopard.

Si intentamos reiniciar el NC10, nos puede aparecer un mensaje de error de disco duro "HFS+ PROBLEM" . Para solucionar esto, debemos modificar el sector de arranque del disco duro.

Para modificar el sector de arranque y que reconozca correctamente las dos particiones, tanto la de Windows como la de instalación 'Origen', lo mas fácil es utilizar el programa EasyBCD.

Solo tenemos que instalarlo en windows y y añadimos una entrada para Mac.

No tenemos que tener miedo de tocar las particiones, ya que en caso de no poder acceder a la partición de Windows 7, solo tenemos que pulsar F4 durante el arranque del sistema, y se lanzar la utilizad de recuperación de Samsung.

No hace falta que restauremos ninguna copia, solo esperar que se cargue, y luego salir, ya que se encarga de reparar el sector de arranque y podremos utilizar Windows sin problemas.

1-. Ahora solo nos queda reiniciar el equipo y seleccionar la entrada "MAC OS X Install DVD Slipstream".
2-. Una vez lanzada la instalación, entremos en "Utilities" y elegimos "DiskUtility"
3-. Elegimos las partición con la etiqueta "OSX"
4-. Pulsamos en el boton "Erase" y cambiamos el formato de MS-DOS a MAX OSX Extender(Diario) y formateamos la partición.
5-. Salimos de DiskUtility y en el programa de instalación elegimos nuestra partición "OSX"
6-. Entramos en la opción "Customize" y dejamos todas las opciones marcadas.
7-. Continuamos con la instalación .

4º Paso: MAC OS Funcionando.

Tras un último reinicio, ya tenemos instalado Mac OS en nuestro SamSung NC10. En el primer inicio del SO, nos sale una ventana para configurar nuestro usuario y poder importar nuestro perfil desde otro Mac.

Como esta versión de MacOS no soporta ni la tarjeta de Red y la Wireless, no vamos a poder pasar de este punto, ya que se va ejecutar cíclicamente este paso.

Afortunadamente, solo debemos conectar un dispositivo usb de bluetooth, y podremos continuar con este primer inicio. A continuación, podemos retirar el bluetooth porque no lo vamos a necesitar mas.

Durante la instalación de MacOs, el sector de arranque ha sido modificado, para que el Mac sea el sistema por defecto. Para cambiar esto, necesitamos UNetbootin. Con esta utilizad podemos instalar un Linux en una llave USB. Utilizando este linux, marcaremos como partición activa, la partición de Windows.

Solo me queda indicar que dispositivos funcionan y cuales no en el Mac.

Valores Perdidos en el PostBack en ASP.NET 2.0 en TextBox cuando ReadOnly="true"

Situación:
En una pagina aspx, tenemos un Textbox con la propiedad ReadOnly="true", de manera que el textbox no se puede editar, pero queremos que su valor se envié al realizar un submit.
Como nota, debemos recordad que la propiedad "ReadOnly" es distinta de la propiedad "Enabled", ya que esta ultima, hace que el textbox no se pueda editar, y además no se tenga en cuanta al procesar el submit.
En esta situación, si realizamos cualquier cambio en el valor del textbox, mediante cualquier acción de javascript, este nuevo valor se pierde en el Postback, es decir, en la parte servidor no tenemos esta información actualizada.
  1. <asp:textbox id="TextBox1" runat="server" text="Texto" readonly="true">


Supongamos que en un momento dado se ejecuta el siguiente código javascript, que modifica en la parte cliente el valor de nuestro textbox.
  1. <script language=javascript>

  2. opener.document.Form1.textbox1.value ='Nuevo Texto';

  3. window.close();

  4. </script>


Cuando se realice un Submit de nuesta pagina, en el servidor, textbox seguirá teniendo el valor antiguo, es decir , textbox = "texto" en vez de "nuevo texto". Esto es debido a como Net 2.0 interpreta la propiedad Readonly="true".
Para solucionarlo, primero en el aspx quitamos la propiedad:
  1. <asp:textbox id="TextBox1" runat="server" text="Texto" >


Y ahora, en el load de la pagina, insertamos la propiedad "ReadOnly", con la siguiente código:

  1. textbox1.Attributes.Add("readonly", "readonly")


Si realizamos un nuevo Submit sobre la página, vemos como el textbox muestra correctamente los valores actualizados en la parte cliente entre los Postbacks.

Instalar Windows 7 en un Netbook desde un disco USB

Situación:
Tenemos unos de los nuevos mini portátil Samsung nc10, con Windows XP Home instalado y deseamos instalar otro sistema operativo, en nuestro caso Windows 7. Pero al no disponer de unidad de CD/DVD, ¿que podemos hacer?


Lo que vamos a necesitar son dos cosas:

Un disco Usb de al menos 4 Gbytes.
1-.Un Equipo con Windows Vista.
2-.Una copia de Windows 7 Beta.

Vamos a preparar el usb, para que sea autoarrancable en el inicio del sistema. Como vamos a necesitar formatear el disco usb, lo primero de debemos hacer es hacer una copia de seguridad de su contenido.

Una vez hecha la copia de seguridad, conectamos el USB a nuestro ordenador con Windows Vista (No podemos utilizar un Windows XP, porque vamos a utilizar la aplicación diskpart, cuya versión en Vista es mas avanzada que la del XP).

Nos vamos a Menu de Inicio, Ejecutar y tecleamos "cmd". Desde la consola de sistema, ejecutamos la aplicación diskpart.

  • Introducimos la orden : list disk
    En nuestro caso el disco 0, representa el disco duro del ordenador.
    Mientras que el disco 1 es el disco usb.

  1. DISKPART> list disk Disco ### Estado Tamaño Libre Din. Gpt
  2. ———— ————— ———- ———- —- —-
  3. Disco 0 En pantall 75 GB 0 B
  4. Disco 1 En pantall 4118 MB 4118 MB



  • Seleccionamos el disco USB : SELECT DISK 1

  • Borramos todo el contenido y las particiones del disco USB : CLEAR

  • Creamos una nueva partición : CREATE PARTITION PRIMARY

  • Seleccionamos la partición : SELECT PARTITION 1

  • Activamos la partición : ACTIVE

  • Formateamos el USB : FORMAT FS=FAT32

  • Por ultimo le asignamos un nombre a la unidad : ASSIGN

  • Salimos de la aplicacion : EXIT


Ya tenemos listo la unidad USB. Ahora necesitamos copiar el contenido del disco de instalación de Windows 7 al USB. Introducimos el disco de instalación en el DVD o montamos la ISO, según veamos. Desde la consola de sistema, lanzamos la orden:


  1. xcopy d:\*.* /s/e/f e:\


Ya tenemos un disco USB, con la instalación de Windows 7 autoarrancable. Lo conectamos al Mini Portatil, y lo reiniciamos. Entramos en las opciones de las Bios para modificar el orden de arranque, dándole mayor prioridad el USB. También se puede hacer durante el arranque pulsando F2. Por ultimo, solo nos queda instalar el nuevo sistema operativo.



En cuanto a los drivers, Windows 7 soporta casi todo el hardware del portátil, solo vamos a necesitas estos:



Inyectar código javascript en un control asp .net

Situación:
Queremos inyectar un código javascript para controlar algún evento desde la parte cliente, tal como control de entrada, validación de datos, etc..., dentro de un control de servidor asp net.

Mas concretamente, queremos que se ejecute una parte de código directamente en el cliente y por otro lado se pueda ejecutar otro código de ese mismo control pero en el servidor.

Primero, en la parte aspx, introducimos la función javascript que queremos ejecutar:

  1. function validateFormat()

  2. {

  3. var txtEID = document.getElementById('txtID');

  4. ValidateEID(txtEID);
  5. ...
  6. ...

  7. }



Desde el servidor (vb), inyectamos en el control la llamada a la función javascript junto con el evento:
  1. Protected WithEvents btSearch As System.Web.UI.WebControls.Button



  1. Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

  2. If Not Page.IsPostBack Then

  3. ...

  4. ...
  5. Me.btSearch.Attributes.Add("onclick", "javascript:return validateFormat();")

  6. End If

  7. End Sub

De esta forma, primero se ejecutaría el código en la parte cliente del navegador y a continuación se lanzara el código asociado con del control desde el servidor.

Si durante la validación, en el javascript deseamos que no ese ejecute el código servidor, utilizaríamos este código :
http://tecnonotasdarthon.blogspot.com/2009/02/evitar-propagar-un-evento-con.html

Evitar propagar un evento con javascript.

Situación:
Tenemos un textbox o un input en html, en el que el usuario puede pulsar la tecla Enter. Al pulsar dicha tecla se puede lanzar un evento de perdida de foco o un submit de la pagina.

Para evitarlo, añadimos el siguiente código, que controla las pulsaciones de las teclas y controla las acciones al pulsar Enter.

  1. function keyEnter(e)

  2. {

  3. keynum=(document.all) ? e.keyCode : e.which;

  4. if (keynum == 13)

  5. {

  6. if (!e) e = window.event;

  7. if (e.preventDefault) {

  8. e.preventDefault();

  9. } else {

  10. e.returnValue = false;

  11. }


  12. if (e.stopPropagation) {

  13. e.stopPropagation();

  14. } else {

  15. e.cancelBubble = true;

  16. }

  17. }

  18. }



Por ultimo, solo nos queda añadir la llamada a la función desde el textbox:
  1. <asp:textbox id="txtID" onkeypress="keyEnter(event);" runat="server"></asp:textbox>

Cómo incrementar el tamaño de los discos virtuales (.VHD)

Es una pregunta relativamente frecuente, y que me ha traído varios días de cabeza es como cambiar el tamaño de una maquina virtual, cuando utilizamos Microsoft Virtual PC.



Una vez se ha especificado el tamaño de un disco virtual que utilizaremos, solo podemos cambiar el tipo de disco duro (disco dinámico o fijo ), pero no su tamaño. ¿que ocurre si dicho tamaño posteriormente se queda pequeño?



Una solución seria añadir un segundo disco virtual, pero no siempre es útil, ya que a veces es el disco del sistema operativo el que necesita espacio y con este método lo lograríamos nada.



Por fortuna podemos utilizar esta pequeña herramienta, VHD REsizer.

Utilizándola podemos cómodamente reasignar el espacio del disco duro y su tipo.

Por ultimo, una vez que hemos aumentado el tamaño del disco vhd, para poder utilizar el nuevo espacio desde el sistema operativo virtual, necesitaremos redimensionar la partición desde la propia maquina virtual. Podemos seguir los pasos del articulo anterior : Redimensionar una partición.


Redimensionar una partición

Generalmente, la mayoría de los discos duros tienen una sola partición, en la que esta instalado tanto el sistema operativo como las aplicaciones que utilizamos y todos los datos tanto de las aplicaciones (base de datos, archivos, etc ... ) como los de nuestro usuario (fotos, vídeos, música, etc ...)

Esto implica que cualquier cambio que realicemos en el sistema operativo, ya sea al actualizar una versión a otra, o si queremos instalar varios sistemas operativos o si tenemos problemas de virus, nos afecte a nuestros datos personales. Un método para minimizar este impacto, es dividir el disco duro en varias particiones, de manera que tengamos el sistema operativo en una partición independiente de los datos. Así podemos formatear rápidamente la partición del sistema, mientras nuestros datos están en otra partición.

Existen muchas aplicaciones para realizar este proceso, nosotros vamos a utilizar Paragon Partition Manager 9.0 Express. Tras instalarlar y registrarnos, obtendremos un numero de serie para poder utilizar la versión trial.

1-. Elegimos la opción "Crear Partición".

2-. Seleccionamos la unidad de disco duro que queremos dividir. (Cuidado, si tenemos varios discos duros, de elegir el adecuado)


3-. Seleccionamos el tamaño de la nueva partición.


4-. Una vez se lance el proceso, el equipo se reiniciara, creándose la nueva partición.


Igual de fácil, seria realizar el proceso contrario, es decir, cuando tenemos poco espacio en una partición y deseamos asignarle mas espacio. En este caso, siempre que tuviéramos varias particiones, podemos reducir el tamaño de una partición para aumentar el tamaño de otra.