jueves, 23 de junio de 2016

Reparación de inicio de Windows al cambiar driver de disco en Windows 7

 

Al restaurar una imagen de un equipo a otro, o simplemente al cambiar la placa base del equipo, el controlador de disco que necesitamos cambia y el equipo se niega a arrancar; en estos casos la reparación de inicio de Windows no nos sirve de mucho.

 

La solución es bastante simple, darle el driver que necesita al Windows que tenemos en el disco duro. Para ello realizamos lo siguiente:

 

Bajamos el driver de la página del fabricante del equipo y lo metemos en un pendrive USB o un CD. Yo uso un pendrive vacío y además le cambio la etiqueta de volumen a DRIVERS, que facilita el trabajo de localizarlo luego. ¡¡¡OJO!!! lo que hay que meter es el driver, no el zip ni el exe que lo trae, es decir hay que extraer los ficheros y meterlos tal cual.

Arrancamos con un disco de instalación de Windows 7 y seleccionamos nuestro idioma.

IMG_20160623_140118

 

En vez de instalar le damos a la opción de reparar el equipo.

IMG_20160623_140156

Debería detectarnos nuestra instalación de Windows en nuestro sistema, si nos fijamos en este caso le está asignando la letra D, podemos quedarnos con este dato, aunque luego veremos como sacarlo.

IMG_20160623_140339

Le damos a siguiente

IMG_20160623_140936

Presionamos cancelar, porque no queremos restaurar el sistema

Si en cuanto comienza la reparación de inicio somos rápidos y le damos al botón cancelar, nos va dejar cancelarla y ganamos un tiempo, sino tendremos que esperar a que acabe.

IMG_20160623_144110

Tanto al cancelar como al terminar la reparación de inicio tendremos la opción de “… opciones avanzadas de recuperación…”

IMG_20160623_142616

Nos sale una pantalla como la siguiente, donde tenemos escogemos “Símbolo del sistema”

IMG_20160623_143152

Ahora necesitamos saber dos cosas, que es lo primero que vamos a buscar, la unidad de disco asignada al Windows y la que nos va a a asignar al pendrive (o CDROM) donde tenemos los drivers.

Para ver las unidades usamos la utilidad DISKPART, como muestro en la imagen

IMG_20160623_142949

Se puede observar que he hecho dos list volume, uno antes de insertar el pendrive con los drivers y otro después con lo cual es muy sencillo deducir que es la letra G, aunque poniéndole una etiqueta de volumen conocida, como por ejemplo “DRIVERS” nos facilita el trabajo.

 

Bien ahora que tenemos todo lo que necesitamos sólo tenemos que usar el comando

dism /Image:D:\ /Add-Driver /Driver:G:\ /recurse

Cae de cajón que en caso de que cambien nuestros nombres de unidades debemos cambiarlas según nuestro entorno.

Al ejecutar este comando nos saldría algo como esto (si todo va bien):

IMG_20160623_143104

Tras esto sólo nos queda cerrar la ventana y darle a reiniciar. Sacamos los pendrive o el CD  y esperamos a que el Windows arranque como siempre. Es posible que tarde un poco más de lo normal al arrancar la primera vez.

Y aquí está nuestro bonito Windows de nuevo…

IMG_20160623_145153

Nota: la calidad de las fotos no es muy buena, sólo tenia el móvil a mano y la luz tampoco ayudaba mucho.

martes, 21 de junio de 2016

lunes, 6 de junio de 2016

Crear LVM con discos GPT - Particiones de más de 2TB

En este caso vamos a crear un LVM  basado en dos discos de 3TB.

Lo primero que debemos hacer es crear las particiones en ambos discos y decirle que van a usarse para LVM, para ello al ser discos de más de 2TB usaremos parted en vez de fdisk y particiones tipo GPT.

Nota: en negrita lo que ponemos, en cursiva lo que va poniendo el sistema. Todos los comandos se han realizado desde el usuario root, se pueden realizar desde cualquier usuario con privilegios para hacer sudo simplemente, como ya sabéis, poniendo sudo delante.


1) Creamos partición para un disco (/dev/sdc en este caso)

#parted /dev/sdc
GNU Parted 3.2
Usando /dev/sdc
¡Bienvenido/a a GNU Parted! Teclee «help» para ver la lista de órdenes.
(parted)
mklabel gpt
Aviso: La etiqueta de disco existente en /dev/sdc se destruirá y todos los datos
en este disco se perderán. ¿Desea continuar?
Sí/Yes/No?
S(parted) unit TB
(parted)
mkpart primary 0 3TB
(parted)
set 1 lvm on
(parted)
print
Modelo: ATA ST3000VX006-1HH1 (scsi)
Disco /dev/sdc: 3,00TB
Tamaño de sector (lógico/físico): 512B/4096B
Tabla de particiones: gpt
Disk Flags:

Numero  Inicio  Fin     Tamaño  Sistema de archivos  Nombre   Banderas
 1      0,00TB  3,00TB  3,00TB                       primary  lvm

(parted)
quit
Información: Puede que sea necesario actualizar /etc/fstab.
#


2) Hacemos lo mismo para /dev/sdb, tal y como se ve:


# parted /dev/sdb print
Modelo: ATA ST3000VX006-1HH1 (scsi)
Disco /dev/sdb: 3001GB
Tamaño de sector (lógico/físico): 512B/4096B
Tabla de particiones: gpt
Disk Flags:

Numero  Inicio  Fin     Tamaño  Sistema de archivos  Nombre   Banderas
 1      1049kB  3001GB  3001GB                       primari  lvm
#


3)Creamos los volúmenes físicos para LVM

#pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created

# pvcreate /dev/sdc1
  Physical volume "/dev/sdc1" successfully created


Nota: se puede hacer en una sola línea (pvcreate /dev/sdb1 /dev/sdc1) , pero en mi experiencia, si son pocos, prefiero hacerlos de uno en uno.

Si no ha habido ningún problema podemos ver  con pvscan los volúmenes:
# pvscan
  PV /dev/sdc1                      lvm2 [2,73 TiB]
  PV /dev/sdb1                      lvm2 [2,73 TiB]
  Total: 2 [5,46 TiB] / in use: 0 [0   ] / in no VG: 2 [5,46 TiB
]

Con pvdisplay podemos ver la información en más detalle para cada volumen.
# pvdisplay
  "/dev/sdc1" is a new physical volume of "2,73 TiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc1
  VG Name
  PV Size               2,73 TiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               MoApzg-ZxNp-vecS-DOw0-dmnK-H1W9-JCTkGV

  "/dev/sdb1" is a new physical volume of "2,73 TiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name
  PV Size               2,73 TiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               c2iEmj-1igD-tlXM-vmtR-dmqw-VDUf-Eck7b7

4) Creamos el volume group, que como sabemos no es más que un pool de almacenamiento que consiste en uno o varios discos. En nuestro caso hacemos:
# vgcreate vgzm_data /dev/sdb1 /dev/sdc1
  Volume group "vgzm_data" successfully created

El parámetro zm_data no es más que el nombre que yo le he puesto a este volumen, que en vuestro caso puede llamarse como queráis.

LVM procesa el almacenamiento en unidades llamadas extents (en el momento de crear está entrada por defecto eran de 4MB). Podéis cambiar este tamaño por defecto cuando se hace el vgcreate con el parámetro -s  (tal y como pone en la página del manual   -s Tamaño [kKmMgGtT] ).

Podemos ver con vgdisplay nuestro nuevo volumen:
 # vgdisplay
  --- Volume group ---
  VG Name               vgzm_data
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               5,46 TiB
  PE Size               4,00 MiB
  Total PE              1430792
  Alloc PE / Size       0 / 0
  Free  PE / Size       1430792 / 5,46 TiB
  VG UUID               8yhV48-Tm0j-TNEF-i8tC-S7vZ-VI1J-rFJhFW



5) Finalmente creamos el volumen lógico. En mis caso lo voy a crear al máximo de capacidad, ya que este VG sólo se va a usar para un fin y lo que necesito es que se puedan añadir más discos a futuro si es necesario.

# lvcreate -l 100%FREE -n zm_data vgzm_data
  Logical volume "zm_data" created.


Aunque los parámetros están claros, quizás el -l sea el más confuso que es la longitud en extends, en la que se puede poner un entero o un porcentaje de, en este caso el espacio vacío que queda (man lvcreate para más info).
Con lvdisplay ya podemos ver nuestro nuevo volumen lógico.

# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vgzm_data/zm_data
  LV Name                zm_data
  VG Name                vgzm_data
  LV UUID                XBD7IP-21M9-49Ad-RDeu-OoXN-dL0Y-yudhiu
  LV Write Access        read/write
  LV Creation host, time srvcam, 2016-06-06 14:24:21 +0200
  LV Status              available
  # open                 0
  LV Size                5,46 TiB
  Current LE             1430792
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

 Si observáis el vgdisplay, veréis que en Free PE ahora pone 0, mientras antes ponía la cantidad de extends / espacio disponible sin usar en ningún volumen, al contrario que los usados Alloc PE:

 #vgdisplay
  --- Volume group ---
  VG Name               vgzm_data
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               5,46 TiB
  PE Size               4,00 MiB
  Total PE              1430792
  Alloc PE / Size       1430792 / 5,46 TiB
  Free  PE / Size       0 / 0
  VG UUID               8yhV48-Tm0j-TNEF-i8tC-S7vZ-VI1J-rFJhFW

6) Formatear y usar

# mkfs.ext4 /dev/vgzm_data/zm_data
mke2fs 1.42.13 (17-May-2015)
Se está creando un sistema de ficheros con 1465131008 bloques de 4k y 183144448 nodos-i
UUID del sistema de ficheros: 41323ea1-7512-41d7-b219-51502d57dc6f
Respaldo del superbloque guardado en los bloques:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000, 550731776, 644972544

Reservando las tablas de grupo: hecho
Escribiendo las tablas de nodos-i: hecho
Creando el fichero de transacciones (32768 bloques): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho








Y ya lo usáis donde queráis.
# mount /dev/vgzm_data/zm_data /mnt 
# df -h
S.ficheros                    Tamaño Usados  Disp Uso% Montado en
/dev/mapper/vgzm_data-zm_data   5,5T    58M  5,2T   1% /mnt
#



martes, 31 de mayo de 2016

Actualizaciones offline de sistemas windows


Muchas veces nos es tedioso el windows update, por lo que sea, va lento, actualiza lento, tengo que actualizar muchos equipos, etc.

Una de las soluciones en caso de una red corporativa es instalarse nuestro propio WSUS y centralizar las updates en él. Aún así en el caso de muchos equipos a la vez y en centros remotos podemos encontrarnos con los mismos problemas que antes

Para solventar el problema  yo utilizo una herramienta que permite hacer las actualizaciones de fuera de línea WSUS Offile Update. Esta herramienta nos permite crear un repositorio local de las actualizaciones de sistema operativo que deseemos.

Su uso es muy simple (Documentación de uso), yo lo que hago es una vez bajadas las actualizaciones me hago unos cuantos pinchos USB con el directorio client y puedo instalar varios equipos en paralelo, incluso desconectados de la red (no es la primera vez que me pasa que tengo que ir "a los pocos" por no tener tomas suficientes).



jueves, 12 de mayo de 2016

Cambiar nombre a ODBC

En determinadas circunstancias alguna aplicación o cualquier otra cosa, busca un determinado controlador ODBC con un nombre en concreto. Muchas veces el controlador ha cambiado de nombre al cambiar de versión, de empresa o a saber cual es la causa.. cosas que pasan.

Por suerte el nombre de este controlador se puede cambiar sin problemas, en mi caso lo he probado con el de Oracle y el de PostreSQL y nunca he tenido problemas (hasta la fecha).

El proceso es bien simple:


  • En HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers cambiamos el nombre por el que queramos (conviene que nos acordemos del antiguo)
  • En HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI  habrá una rama con el nombre antiguo que cambiamos. Cae de cajón, le cambiamos el nombre a la rama por el mismo  que pusimos antes.

En equipos de 64 Bits para cambiar el nombre de los ODBC de 32 bits habría que hacerlo en la rama
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\

martes, 12 de enero de 2016

Añadir claves que faltan a APT de Debian

Por ejemplo en un apt-update nos da al final...


Leyendo lista de paquetes... Hecho
W: GPG error: http://ftp.de.debian.org lenny Release: Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY AED4B06F473041FA NO_PUBKEY 4D270D06F42584E6


Dos posibilidades:

1) bajarlas del keyserver

gpg --keyserver pgpkeys.mit.edu --recv-key 4D270D06F42584E6
gpg -a --export 4D270D06F42584E6 |sudo apt-key add
gpg --keyserver pgpkeys.mit.edu --recv-key AED4B06F473041FA
gpg -a --export AED4B06F473041FA |sudo apt-key add -

o 2) usar los paquetes keyring de debían

sudo apt-get install debian-keyring
sudo apt-get install debian-archive-keyring


Y listo, ya nos sacamos el error del medio

miércoles, 4 de noviembre de 2015

Driver NVIDIA Gforce Serie 7 y windows 10 en mi caso una 7300

Tras instalar el windows 10 con la descarga de medios y pelearme con el driver por defecto, con instalar el último de NVIDIA funciona correctamente, eso sí, si se encuentra en link.

Para mas facilidad pego aquí el que yo me baje
Últimos Drivers NVIDIA Serie 7

Antes de comprar otra tarjeta si se tiene una GForce para Desktop yo probaría con este driver.

A mí no me ha funcionado correctamente en mi equipo al final tenía infinidad de problemas con el explorador de archivos, una vez eliminado el driver todo fue bien, pero eso no quiere decir que no podáis probar antes por si os va bien en vuestro caso.


L2TP Ipsec Windows to Mikrotik eror 789

 Add this to registry REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d...