The UNIX and Linux Forums  
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.

Go Back   El UNIX y Linux Foros > Arriba Foros > UNIX for Dummies Preguntas y Respuestas > Respuestas a las Preguntas más frecuentes > Consejos y tutoriales
.
google unix.com



Consejos y tutoriales Artículos útiles de nuestros usuarios.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
octava-db 031008 (por defecto sucursal) iBOT Comunicados de prensa de Software - Noticias RSS 0 03-12-2008 07:00 PM
octava-ann 1,0 (por defecto sucursal) iBOT Comunicados de prensa de Software - Noticias RSS 0 03-10-2008 06:40 PM
Octava-FLTK 0.7.1 (rama por defecto) iBOT Comunicados de prensa de Software - Noticias RSS 0 02-05-2008 12:10 AM
Octava 3.0.0 (rama por defecto) iBOT Comunicados de prensa de Software - Noticias RSS 0 01-10-2008 06:40 PM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 10-07-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix demonio
  
 

Fecha: agosto 2001
Ubicación: Ashburn, Virginia,
Mensajes: 9.122
--- Mi octava óctuplo arranque portátil

Como he prometido en varios hilos, he aquí algunas notas sobre cómo instalar varios sistemas operativos en mi LAPTAP. Les voy a dar enlaces a las herramientas que he obtenido de varias terceras partes. Y voy a incluir el código fuente de algunos guiones que he escrito.

Introducción
Hace unos meses la unidad de disco en mi Inspiron 8200 con fritas. He decidido personalizar con nuevos periféricos. Tengo un Seagate de 100 GB y una unidad grabadora de DVD. Unidad de 100 GB que se monta en un soporte. Es una gran cosa para montar la unidad en un soporte, pero eliminar un tornillo y el transportista puede ser retirado. He comprado una segunda compañía aérea y una segunda unidad de 100 GB. Esto me permite cambiar mi disco duro y para que pueda probar los experimentos con poco riesgo. No puedo eliminar una de mis pilas e instalar otra unidad en la ranura de la batería. Tengo una disquetera para instalar allí. Mi BIOS soporta el arranque desde cualquier dispositivo ATA para que pueda arrancar desde el disco duro, la unidad de CD / DVD o en el disquete.

He decidido instalar tantos sistemas operativos como pude sobre la nueva configuración. El problema es que, excepto para Linux, todo requiere una partición primaria y sólo hay 4 particiones primarias. Si uno se utiliza como una cadena de particiones lógicas, que no deja a 3 del sistema operativo Linux. He decidido vivir con eso. Hay algunas soluciones extremas que no permiten más el sistema operativo Linux, pero son demasiado extremas. Quería NetBSD, Desktop BSD, Solaris 8 y además de lo que hice instalar. Pero esos 3 sistemas operativos no parece muy por valor de medidas extremas. Por lo tanto, con la herida:
  • Windows XP
  • Redhat
  • Fedora
  • SuSE
  • Debian
  • Ciencia
  • FreeBSD
  • Solaris 10

Herramientas

He utilizado varias herramientas de software para que me ayude con este proyecto.

GRUB
En primer lugar, necesitamos un buen gestor de arranque que la entiendo completamente. GRUB es realmente el único juego en la ciudad. Hay algunos productos muy potente gestor de arranque, pero sin acceso al código fuente, hay un límite a lo bien que ellos puedan entender. GRUB es realmente muy fácil de entender, pero se ha documentado poco. Hasta he entendido GRUB, diversos desastres prestados mi sistema que no arranca. En cada caso, pude finalmente encontrar exactamente lo que pasó. Realmente ya no es posible hacer que mi sistema no arranca.

Disk Director / True Image
Necesitaba un Partition Manager y he utilizado Partition Magic en el pasado. PowerQuest, pero vendió el producto a otra empresa y no parece estar bien apoyado ahora. Decidí intentar Acronis Disk Director, que es menos caro. No es perfecto, pero funcionó bastante bien. Yo también han comprado Acronis True Image. Una vez más no es perfecto, pero puede restaurar completamente el sistema a una nueva unidad de DVD de copia de seguridad. Usted puede crear un CD de arranque que tiene productos en el mismo. Esto permite que las copias de seguridad y restaura de un disco inactivo. Director disco viene con un editor de sector de la GUI que es posiblemente mejor que dskprobe.

Asistente de disco / Seatools
Seagate ha estas utilidades disponibles para su descarga desde su sitio. Se trata de CD de arranque del que puede realizar diagnósticos y escribir ceros en todo el disco entre otras tareas. Me gusta a cero una unidad antes de hacer una nueva instalación (9 horas para los de 100 GB). Y que puede hacer ensayos no destructivos en la unidad. Otros fabricantes tienen utilidades similares.

Sistema de CD de Rescate
Cuando yo tenía problemas en el transcurso del proyecto, esta es la herramienta que me sacó de los bosques. Básicamente es un "Live CD" con un montón de herramientas útiles disponibles.

Sector de Inspector
Esta es una línea de comando XP física basada en el sector de servicios públicos. Que puede hacer un montón de cosas que la GUI del sector basado en los editores no pueden hacer. Este es un programa de Microsoft y es gratis.

grub
Acronis Disk Director Suite 10.0
Acronis True Image 9.0 Inicio
Asistente de disco
Seatools
SystemRescueCD
sector de inspector

Me he cambiado de dskprobe al Sector de Acronis Editor. Pero dskprobe es gratuito y viene en el paquete de herramientas de apoyo en el CD de instalación de XP. O puede descargar las herramientas de soporte aquí. dskprobe viene con un archivo llamado dskprtrb.doc doc que me pareció muy útil. Dskprobe también es autónomo, mientras que la utilidad del sector editor de Acronis es una sub-herramienta de Disk Director.

Notas sobre la instalación de

He aquí algunas notas sobre lo que hice para instalar el os'es. No sólo se reúnen una colección de sistemas operativos y saltar directamente a la masa de la instalación. Lo hice primero las instalaciones de prueba para adquirir experiencia con cada instalador. En todo caso, he utilizado la "costumbre" para maximizar las opciones de mi flexibilidad durante la instalación. Esto significa que tenía que entender cada instalador bastante bien. Recuerde que el Master Boot Record tiene una mesa para 4 entradas de partición.

Windows XP
He instalado XP en primer lugar en la primera partición primaria que he formateado con un sistema de archivos NTFS. He instalado la consola de recuperación y he añadido una opción para arrancar en modo seguro. Esto significa que el gestor de arranque NT presenta un menú no muy diferente el menú de GRUB. He creado un E: el que utiliza la partición FAT32. Esta es mi primera partición lógica. La segunda entrada en la tabla de particiones es consumido ahora en apoyo de mi cadena de particiones lógicas. Esta partición contiene los archivos de datos de Linux y montarlo como / driveE. Esto me permite mover archivos entre Linux y XP. En tiempo de arranque, el cargador de NT busca un archivo llamado Hiberfil.sys. Si se encuentra, que se carga en la memoria y la ejecución se reanuda. Así es como se ejecuta en modo de hibernación. Al despertar de la hibernación, es fundamental que nada ha cambiado desde que comenzó la hibernación. Desamarre de acoplamiento o incluso un ordenador portátil es suficiente es causar problemas. Voy a ser el arranque a través de grub y no puedo garantizar que otro SO no puede empezar. Puesto que soy el intercambio entre las particiones del sistema operativo esto sería una receta para el desastre. Así que me ha deshabilitado la hibernación.

Cada uno de los otros procedimientos de instalación del sistema operativo está preparado para coexistir con un pre-existentes XP ejemplo, en la primera partición primaria. La mayoría de ellos se instale un gestor de arranque que puede arrancar XP o él mismo. Véase el "arranque a prueba de fallos" de artículo siguiente para ver por qué esto no es un problema.

Linux Distros
Solía LVM para cada distribución de Linux. Incluso / LVM es bajo, pero Linux no puede arrancar desde LVM, por lo que he creado un temporal / partición de arranque durante la instalación. RedHat Tomemos como ejemplo la mañana ... es la primera distro que he instalado. He copiado / boot a / mastergrub / RedHat. Luego me mudé / mastergrub / RedHat / grub a / mastergrub / grub. / mastergrub / RedHat / grub se convirtió en un enlace simbólico a / mastergrub / grub. Y / boot se convierte en un enlace simbólico a / mastergrub / RedHat. Cada distribución tiene su propio subdirectorio bajo / mastergrub y cada uno de estos subdirectorios es un enlace simbólico apuntando a grub / mastergrub / grub. Por lo tanto, todas las distribuciones de viento utilizando el mismo ejemplo de grub. Esa partición / boot es entonces descartado.

He utilizado un / tmp y partición de la partición de intercambio putside de LVM. El área de swap es de 2 GB y / tmp es de 1 GB. Cada distribución Linux usa la misma partición. Así, en total, yo uso de 3 GB / tmp y de intercambio en lugar de 15 GB. Estoy en el proceso de modificar los scripts de arranque para la reconstrucción / tmp en el arranque. Esto significa que cualquier sistema operativo puede utilizar el canje o / tmp zona para cualquier propósito. También explica por qué / tmp ext2 en vez de ext3. No tiene sentido en un registro si reconstruir el sistema de archivos en cada arranque.

RedHat es bastante antiguo y que está fuera de paso con las otras distribuciones. Pero yo todavía encuentro RedHat desplegado por las empresas a fin de que quería una versión en mi ordenador portátil. RedHat está utilizando la versión de LVM 1 y el uso de otras distribuciones de LVM versión 2. He elegido Fedora, e hizo un "vgscan - makenodes". Esto me dio para todos los ficheros de dispositivo de las otras distribuciones "volúmenes lógicos. No puedo montar las otras distribuciones cuando lo necesito. Voy a usar esto para desarrollar un archivo de copia de seguridad para el nivel de las distribuciones Linux. También he utilizado este para corregir un problema con scripts de arranque.

Cada partición de Linux es una partición lógica. Esto incluye el Grub particiones LVM y particiones. Tengo un / UserData partición formateada como ext3 que todas las distribuciones Linux de montaje. Tengo un pequeño / home (en virtud de LVM) en cada distribución para que cada uno puede tener su propia seguridad de los archivos de inicio, etc, pero la mayoría de mis cosas irán en / UserData. De modo que cada distribución tiene su propia partición LVM. Pero entonces no hay intercambio, / tmp, / UserData, y / mastergrub (cada uno en una partición lógica) utilizado por todas las distribuciones en común. Y no hay / driveE que montar también.

FreeBSD
FreeBSD va en partición primaria 3. Solía Acronis para pre-asignar la partición antes de la instalación. FreeBSD talla la partición INTP piezas confusión que también llamadas particiones. En teoría, Grub puede arrancar directamente de FreeBSD, pero no podía conseguir que funcione. Así que tuve FreeBSD instalar su propio gestor de arranque en la partición, dejando solo el MBR. Entonces modificados grub.conf para chainloader en ella. Me gustaría obtener un trabajo directo de arranque Grub y deseo trabajar en este sentido. Por ahora, es lo suficientemente bueno.

Solaris
Tengo una partición primaria de la izquierda y que he instalado Solaris 10 en el mismo. Mucho como FreeBSD, Solaris talla hasta la partición. Utiliza "rebanadas" para describir las piezas. Una vez más, preallocated la partición antes de hacer la instalación. En el último momento me di cuenta de que Sun había una nueva versión de Solaris 10 en su sitio. Yo no suelen saltar instantáneamente a cada nueva versión, pero se había pasado de su propio gestor de arranque para el uso de grub. Así que he descargado la última de Solaris 10. Bueno, ninguno de mis versiones de GRUB puede leer las rebanadas Solaris ... Yo incluso descargar la última Grub de la página de Grub y sigue sin ir. Domingo debe tener modificados Grub. Se me permite cambiar a la versión de Sun en algún momento. Pero por ahora, mi Grub es chainloadering Sun Grub.

Mi definitiva configuración de GRUB
Con cada sistema operativo que utiliza Grub, tomé un vistazo a su grub.conf. Muchas veces he visto una nueva técnica, y, si me gustó, he añadido a mi bolsa de trucos. SuSE muy modificadas Grub y no pude encontrar mucha información sobre sus mods. Existen advertencias de que la SuSE mods presentó un problema de seguridad. Así que no voy a utilizar la versión de SuSE Grub. Pero incluso con SuSE, encontré algunas cosas para su uso. Mi grub.conf:
Código:
#
#  This configuration file is maintained by a series of scripts that support the concept of this
#  partition being moved or copied.  Statements like "    r00t (xxxx) " where there is exactly one
#  space between the word "root" and the opening parenthesis will be replaced with a grub device
#  that corresponds to the current partition.  Put extra spaces after "root" to protect a root entry
#  from this automatic replacement.
default=1
timeout=60
color red/black black/green
	title Boot Octave from grub.conf on mastergrub
	root
title 1) Windows XP Pro
	root		(hd0,0)
	makeactive
	chainloader	+1
title 2) RedHat
	root (hd0,6)
	kernel /Redhat/vmlinuz-2.4.18-14 ro root=/dev/RedHat00/LogVol00 hdb=ide-scsi
	initrd /Redhat/initrd-2.4.18-14.img
title 3) Fedora Core
	root (hd0,6)
	kernel /Fedora/vmlinuz-2.6.15-1.2054_FC5 ro root=/dev/Fedora00/LogVol00 rhgb quiet
	initrd /Fedora/initrd-2.6.15-1.2054_FC5.img
title 4) SuSE
	root (hd0,6)
	kernel /SuSE/vmlinuz root=/dev/SuSE00/lvol0 vga=0x31a    resume=/dev/hda8  splash=silent showopts
	initrd /SuSE/initrd
title 5) Debian 
	root (hd0,6)
	kernel	/Debian/vmlinuz-2.4.27-2-386 root=/dev/mapper/Debian00-lvol0 ro 
	initrd	/Debian/initrd.img-2.4.27-2-386
title 6) Scientific 
	root (hd0,6)
	kernel /Scientific/vmlinuz-2.6.9-34.EL ro root=/dev/Scientific00/LogVol00 rhgb quiet
	initrd /Scientific/initrd-2.6.9-34.EL.img
title 7) FreeBSD
	rootnoverify (hd0,2)
	makeactive
	chainloader	+1
title 8) Solaris
	rootnoverify (hd0,3)
	makeactive
	chainloader +1
title ----UTILITIES----
	root
title ______reboot
	reboot
title ______off
	halt
title ______halt
	halt --no-apm
title ______floppy
	chainloader (fd0)+1
  #2 (Enlace permanente)  
Old 10-07-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix demonio
  
 

Fecha: agosto 2001
Ubicación: Ashburn, Virginia,
Mensajes: 9.122
Uno de los secretos del éxito de una instalación compleja como ésta es completamente entender exactamente donde todo está en el disco. Acronis Disk Director podría lista de algunas de la información, pero que necesitaba más. He escrito una herramienta para tener la información que aparece de Acronis y producir un cuadro de mis notas ...

Código:
   ===== Device Name ====                                     ========== Start ========== ========== End ============== ====== Length ========
P#   Grub   Linux FreeBSD      Description    Partition Type     LBA     Cyl--Head--Sectr    LBA     Cyl--Head--Sector   Sectors    MB    Cyls
-- -------- ----- ------- ------------------- --------------- ---------- ---------------- ---------- ------------------ --------- ------ -----
   (hd0)    hda           the whole disk                               0 (0---0---1)       195371568 (12161---81---1)     5371569   2622   334
                          first full cylinder                          0 (0---0---1)           16064 (0---254---63)         16065      7     1
                          usable space                                 0 (0---0---1)       195366464 (12160---254---63)   5366465   2620   334
                          unusable space                       195366465 (12161---0---1)   195371568 (12161---81---1)        5104      2
                          MBR                                          0 (0---0---1)               0 (0---0---1)                1
                          the hidden sectors                           1 (0---0---2)              62 (0---0---63)              62
1  (hd0,0)  hda1  ad0s1   XP                  NTFS       0x07         63 (0---1---1)        31519529 (1961---254---63)    1519467    741    94
                          EBR                                   31519530 (1962---0---1)     31519592 (1962---0---63)           63
5  (hd0,4)  hda5  ad0s4   driveE              FAT32      0x0B   31519593 (1962---1---1)     52500419 (3267---254---63)    0980827    478    61
                          EBR                                   52500420 (3268---0---1)     52500482 (3268---0---63)           63
6  (hd0,5)  hda6  ad0s5   /userdata           EXT3       0x83   52500483 (3268---1---1)     62990864 (3920---254---63)    0490382    239    30
                          EBR                                   62990865 (3921---0---1)     62990934 (3921---1---7)            70
7  (hd0,6)  hda7  ad0s7   /mastergrub         EXT3       0x83   62990935 (3921---1---8)     63263969 (3937---254---63)     273035    133    16
                          EBR                                   63263970 (3938---0---1)     63264032 (3938---0---63)           63
8  (hd0,7)  hda8  ad0s8                       Linux swap 0x82   63264033 (3938---1---1)     67472999 (4199---254---63)    4208967   2055   262
                          EBR                                   67473000 (4200---0---1)     67473062 (4200---0---63)           63
9  (hd0,8)  hda9  ad0s9   /tmp                EXT3       0x8E   67473063 (4200---1---1)     69577514 (4330---254---63)    2104452   1027   131
                          EBR                                   69577515 (4331---0---1)     69577577 (4331---0---63)           63
10 (hd0,9)  hda10 ad0s10  Redhat00            Linux LVM  0x8E   69577578 (4331---1---1)     77979509 (4853---254---63)    8401932   4102   523
                          EBR                                   77979510 (4854---0---1)     77979572 (4854---0---63)           63
11 (hd0,10) hda11 ad0s11  Fedora00            Linux LVM  0x8E   77979573 (4854---1---1)     88469954 (5506---254---63)    0490382    239    30
                          EBR                                   88469955 (5507---0---1)     88470017 (5507---0---63)           63
12 (hd0,11) hda12 ad0s12  SuSE00              Linux LVM  0x8E   88470018 (5507---1---1)    101064914 (6290---254---63)    2594897   1267   161
                          EBR                                  101064915 (6291---0---1)    101064977 (6291---0---63)           63
13 (hd0,12) hda13 ad0s13  Debian00            Linux LVM  0x8E  101064978 (6291---1---1)    117852839 (7335---254---63)    6787862   3314   422
                          EBR                                  117852840 (7336---0---1)    117852902 (7336---0---63)           63
14 (hd0,13) hda14 ad0s14  Scientific00        Linux LVM  0x8E  117852903 (7336---1---1)    130447799 (8119---254---63)    2594897   1267   161
                          EBR                                  130447800 (8120---0---1)    130447862 (8120---0---63)           63
15 (hd0,14) hda15 ad0s15  /backupgrub         EXT3       0x83  130447863 (8120---1---1)    130720904 (8136---254---63)     273042    133    17
                          EBR                                  130720905 (8137---0---1)    130720967 (8137---0---63)           63
16 (hd0,15) hda16 ad0s16  /testgrub           EXT3       0x83  130720968 (8137---1---1)    130994009 (8153---254---63)     273042    133    17
                          Free Space                           130994010 (8154---0---1)    158256314 (9850---254---63)    7262305   3546   452
2  (hd0,2)  hda2  ad0s2                       FreeBSD    0xA5  158256315 (9851---0---1)    172939724 (10764---254---63)   4683410   2286   291
3  (hd0,3)  hda3  ad0s3                       Solaris    0xBF  172939725 (10765---0---1)   195366464 (12160---254---63)   2426740   1184   151
Algunas notas sobre esto ...

MBR, los sectores ocultos y los de la EBR
El Master Boot Record (MBR) es el primer sector del disco. Tiene el código de inicio y la tabla de particiones en el mismo. El resto de la primera pista que se llama "los sectores ocultos". En mi caso, GRUB fase 1.5 está oculto en el sector. La estructura de esta primera pista se duplica para cada partición lógica. Cada partición lógica tiene una estructura como un MBR como primer sector. Luego el resto de la primera pista se ignora. Esta primera pista inmediatamente anterior a la partición lógica que describe. Microsoft utiliza el término "unidad lógica", que significa casi lo mismo que "partición lógica". Pero si nos fijamos atentamente en las definiciones que me parece que "la unidad lógica" \u003d EBR + "desperdiciado sectores" + "partición lógica". En cualquier caso, usted necesita el MBR y el de la EBR para definir la partición de una unidad de diseño. Veo los programas de copia de seguridad del MBR pero siempre caso omiso de los de la EBR. Que voy a fijar por escrito una utilidad para copia de seguridad del MBR y de la EBR. Strickly haciendo uso de la palabra la EBR es un sector y es seguido por algunos sectores perdido. En mi tabla tengo un poco engañados y redefinido la EBR a todos los sectores generales entre las particiones. Creo que la carta es "bastante ocupado", y sería aún más difícil de leer con dos líneas de cada partición.


Cilindro de alineación
Observe cómo las particiones por lo general se ajustan a los límites del cilindro. La excepción es / mastergrub y esto se debe a un error en Acronis Disk Director. Yo tenía originalmente / mastergrub a .5 MB, que es demasiado grande. Me reducido, pero hice el espacio libre antes de aparecer la partición en lugar de después. (Esta shuffle permítanme el espacio libre y añadirlo a mi partición de XP.) Cuando me produce este cuadro, he tomado nota de que / mastergrub no alineados correctamente. Este desechos cilindros un poco más, pero parece haber pocas consecuencias. Los únicos problemas que se me ocurre ... Algunos programas tratan de adivinar la geometría del disco .... con gran éxito. Pueden hacerlo mirando a la alineación de las particiones. Algunos programas (como Acronis propia) pueden localizar y restaurar particiones suprimido. Esto puede fallar si la partición es correcta para empezar. Me doy cuenta de que Acronis tiene una "rápida" y "lento" buscar suprimido particiones (con el "lento" que la opción más firme) y que esto podría empujar a la "lenta" opción.

Esto me animó a experimentar con las particiones que realmente lógico, pero también había una entrada en la cuarta ranura MBR como una partición primaria. Mi idea era cambiar uno de los varios logicals en la primera ranura, instale un sistema operativo, destruir la entrada principal, y el arranque de la partición lógica. Esto no funciona muy bien. Un gestor de arranque inteligente puede cambiar de una partición lógica a la enseñanza primaria y luego de arranque, pero no quería escribir un gestor de arranque.

Me doy cuenta de que cada partición lógica está perdiendo más de un camino. Estoy considerando misaligning de todas las particiones para recuperar ese espacio. No hay mucho espacio que debe recuperarse y puede que no valga la pena el esfuerzo. Acronis también no tiene un control suficiente para permitir a intentar. Creo que qtparted puede hacer esto sin embargo.

Tipos de Cambio de Solaris
Solaris 10 es el uso como BF y el tipo de partición Solasis 10 instalador no reconoce la partición con un tipo de 82 más.

Yo no quería entrar en el inicio y finalización del LBA para el EBR's. El script debería ser capaz de calcular de los anteriores y siguientes. Este aumento de la complejidad del guión, pero a la larga se guardan esfuerzo. Y aquí está el código fuente ...
Código:
#! /usr/bin/ksh

typeset -L3 opartn
typeset -L9 ogrubdev
typeset -L6 olinuxdev
typeset -L8 ofbsddev
typeset -L20 odesc
typeset -L11 otype
typeset -L5 ohextype
typeset -R9 ofirst
typeset -L17 ofirstchs
typeset -R9 olast
typeset -L20 olastchs
typeset -R7 olong
typeset -R6 omegs
typeset -R5 ocyls
function chs
{
        ((s=$1%63))
        ((rest=$1/63))
        ((h=rest%255))
        ((c=rest/255))
        ((c=rest/255))
        ((s=s+1))
        echo "(${c}---${h}---${s})"
        return 0
}
some_data_left=1
saved_record=0

echo '   ===== Device Name ====                                     ========== Start ========== ========== End ============== ====== Length ========'
echo 'P#   Grub   Linux FreeBSD      Description    Partition Type     LBA     Cyl--Head--Sectr    LBA     Cyl--Head--Sector   Sectors    MB    Cyls'
echo '-- -------- ----- ------- ------------------- --------------- ---------- ---------------- ---------- ------------------ --------- ------ -----'

echo ';(hd0)   ;hda       ;            ;the whole disk     ;          ;    ;        0;195371568
      ;        ;          ;            ;first full cylinder;          ;    ;        0;    16064
      ;        ;          ;            ;usable space       ;          ;    ;        0;195366464
      ;        ;          ;            ;unusable space     ;          ;    ;195366465;195371568
      ;        ;          ;            ;MBR                ;          ;    ;        0;        0
      ;        ;          ;            ;the hidden sectors ;          ;    ;        1;       62
     1;(hd0,0) ;hda1      ;ad0s1       ;XP                 ;NTFS      ;0x07;       63; 31519529
      ;        ;          ;            ;EBR                ;          ;    ;         ;
     5;(hd0,4) ;hda5      ;ad0s4       ;driveE             ;FAT32     ;0x0B; 31519593; 52500419
      ;        ;          ;            ;EBR                ;          ;    ;         ;
     6;(hd0,5) ;hda6      ;ad0s5       ;/userdata          ;EXT3      ;0x83; 52500483; 62990864
      ;        ;          ;            ;EBR                ;          ;    ;         ;
     7;(hd0,6) ;hda7      ;ad0s7       ;/mastergrub        ;EXT3      ;0x83; 62990935; 63263969
      ;        ;          ;            ;EBR                ;          ;    ;         ;
     8;(hd0,7) ;hda8      ;ad0s8       ;                   ;Linux swap;0x82; 63264033; 67472999
      ;        ;          ;            ;EBR                ;          ;    ;         ;
     9;(hd0,8) ;hda9      ;ad0s9       ;/tmp               ;EXT3      ;0x8E; 67473063; 69577514
      ;        ;          ;            ;EBR                ;          ;    ;         ;
    10;(hd0,9) ;hda10     ;ad0s10      ;Redhat00           ;Linux LVM ;0x8E; 69577578; 77979509
      ;        ;          ;            ;EBR                ;          ;    ;         ;
    11;(hd0,10);hda11     ;ad0s11      ;Fedora00           ;Linux LVM ;0x8E; 77979573; 88469954
      ;        ;          ;            ;EBR                ;          ;    ;         ;
    12;(hd0,11);hda12     ;ad0s12      ;SuSE00             ;Linux LVM ;0x8E; 88470018;101064914
      ;        ;          ;            ;EBR                ;          ;    ;         ;
    13;(hd0,12);hda13     ;ad0s13      ;Debian00           ;Linux LVM ;0x8E;101064978;117852839
      ;        ;          ;            ;EBR                ;          ;    ;         ;
    14;(hd0,13);hda14     ;ad0s14      ;Scientific00       ;Linux LVM ;0x8E;117852903;130447799
      ;        ;          ;            ;EBR                ;          ;    ;         ;
    15;(hd0,14);hda15     ;ad0s15      ;/backupgrub        ;EXT3      ;0x83;130447863;130720904
      ;        ;          ;            ;EBR                ;          ;    ;         ;
    16;(hd0,15);hda16     ;ad0s16      ;/testgrub          ;EXT3      ;0x83;130720968;130994009
      ;        ;          ;            ;Free Space         ;          ;    ;130994010;158256314
     2;(hd0,2) ;hda2      ;ad0s2       ;                   ;FreeBSD   ;0xA5;158256315;172939724
     3;(hd0,3) ;hda3      ;ad0s3       ;                   ;Solaris   ;0xBF;172939725;195366464'|\
while ((some_data_left)) ; do
        if ((saved_record)) ; then
                saved_record=0
                partn=$saved_partn
                grubdev=$saved_grubdev
                linuxdev=$saved_linuxdev
                fbsddev=$saved_fbsddev
                desc=$saved_desc
                type=$saved_type
                hextype=$saved_hextype
                first=$saved_first
                last=$saved_last
        else
                if IFS=";" read partn grubdev linuxdev fbsddev desc type hextype first last ; then
                        if [[ "$desc" = EBR* ]] ; then
                                if IFS=";" read partn grubdev linuxdev fbsddev desc type hextype fir
                                        saved_record=1
                                        saved_partn=$partn
                                        saved_grubdev=$grubdev
                                        saved_linuxdev=$linuxdev
                                        saved_fbsddev=$fbsddev
                                        saved_desc=$desc
                                        saved_type=$type
                                        saved_hextype=$hextype
                                        saved_first=$first
                                        saved_last=$last
                                        partn=""
                                        grubdev=""
                                        linuxdev=""
                                        fbsddev=""
                                        type=""
                                        hextype=""
                                        desc="EBR"
                                        ((first=old_last+1))
                                        ((last=saved_first-1))
                                else
                                        echo error EBR is last record >&2
                                        exit 1
                                fi
                        fi
                else
                        some_data_left=0
                fi
        fi

        if ((some_data_left)) ; then
                opartn=$partn
                ogrubdev=$grubdev
                olinuxdev=$linuxdev
                ofbsddev=$fbsddev
                odesc=$desc
                otype=$type
                ohextype=$hextype
                ofirst=$first
                ofirstchs=$(chs $first)
                olast=$last
                olastchs=$(chs $last)
                ((olong=last-first+1))
                if ((olong>2048)) ; then
                        ((omegs=olong/2048))
                else
                        omegs=""
                fi
                if ((olong>16064)) ; then
                        ((ocyls=(olong+64)/16065))
                else
                        ocyls=""
                fi
                echo "${opartn}${ogrubdev}${olinuxdev}${ofbsddev}${odesc}${otype}${ohextype}" \
                        "${ofirst} ${ofirstchs} ${olast} ${olastchs} ${olong} ${omegs} ${ocyls}"

                old_partn=$partn
                old_grubdev=$grubdev
                old_linuxdev=$linuxdev
                old_fbsddev=$fbsddev
                old_desc=$desc
                old_type=$type
                old_hextype=$hextype
                old_first=$first
                old_last=$last
        fi
done
exit 0
  #3 (Enlace permanente)  
Old 10-12-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix demonio
  
 

Fecha: agosto 2001
Ubicación: Ashburn, Virginia,
Mensajes: 9.122
Arranque a prueba de fallos

El / la mastergrub partición de grub software y los granos para cada distribución de Linux instalado. Grub etapa 1 se encuentra en el Master Boot Record (MBR), que es el primer sector del disco. Más a menudo que no, instalar cada sistema operativo se vuelva a escribir el MBR para que apunte a su propia copia del gestor de arranque grub o de otro tipo. Algunas veces yo violín todo el software en grub / mastergrub y romperla. Además de la instalación de la fase 1 de grub en el MBR, la fase 1 se puede instalar en el primer sector de la partición. Y, a continuación, algunos otros pueden chainloader gestor de arranque en él. Escribí mi propia instalación de scripts. Ellos son:

mbrinstall
Este script simplemente instala grub etapa 1 en el MBR.

localinstall
Este script instala grub etapa 1 en el local. (/ mastergrub por ahora.) dd Luego se utiliza para obtener una copia del primer sector de la partición. Esto se pone en un archivo en el directorio / driveE sistema de ficheros. Recordemos que la / diveE es un sistema de archivos FAT32 utiliza para pasar archivos entre Linux y XP. Windows XP obtendrá el sector e incorporar en la secuencia de arranque XP. XP en mi archivo boot.ini es algo como:
Código:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Pro" /fastdetect /NoExecute=OptIn
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Pro (Safe Mode)" /fastdetect /NoExecute=OptIn /safeboot:minimal /sos /bootlog
C:\bootsector.mastergrub="MasterGrub Menu"
C:\CMDCONS\BOOTSECT.DAT="Microsoft Windows Recovery Console" /cmdcons
Así que ahora, si puedo arrancar XP, puedo usar XP para transferir el control a grub en / mastergrub. Esta es una gran ayuda ya que la mayoría de los scripts de instalación OS instalar un gestor de arranque con la opción de arranque de Windows. Así que puede usar esa opción, inicie el arranque XP, pero seleccione la opción de menú de arranque / mastergrub. Entonces me arranque una distro, y ejecutar la secuencia de comandos mbrinstall antes mencionados.

floppyinstall
Arrancar desde XP no funcionará si tengo dañado el software de grub / mastergrub. No tengo espacio en un disquete para los núcleos, pero nunca he roto mi núcleos. Yo fácilmente tener espacio en un disquete de arranque, incluyendo el archivo grub.conf. Este script crea una disquete. Entonces me puede arrancar el disquete de inicio y el sistema de esa manera.

cdinstall
¿Qué pasa si estoy totalmente de perder / mastergrub? cdinstall crea un CD que es una copia de seguridad completa de / mastergrub. Además, se trata de un CD de arranque que puede arrancar alguna de las distribuciones sin usar / mastergrub en absoluto. Este script necesita un pedazo de Grub llamado stage2_eltorito que no se suministró con cualquier versión de Grub que tenía. Así que he descargado y compilado el código fuente de la página de Grub.

/backupgrub y / testgrub
En realidad todos estos scripts Benn han ampliado para apoyar / backupgrub. Esto es simplemente otra partición que es una copia de / mastergrub. De vez en cuando, utilizar rsync para copiar los archivos más. Entonces en cd / backupgrub y ejecute el script localinstall. Cuando uno de estos guiones se ejecuta, lo que las cifras que la partición se está ejecutando in grub.conf El archivo está ajustada para reflejar la actual partición (o en el caso de cdinstall, ajustada para arrancar desde cd). También creó un / testgrub partición de modo que me gustaría dejar de hacerlo peligrosos experimentos en una partición crítica.

supermbrbackup
Una serie de empresas de servicios públicos existen para la copia de seguridad y restaurar el MBR. Esto incluye el código de inicio y la tabla de particiones. La cosa es sin embargo, que de mi se describen en las particiones de arranque extensión registros dispersos en todo el territorio de mi disco. Quería una utilidad que se recrean todos mis particiones (vacío por supuesto) en un nuevo disco. Y mientras yo estaba en ella, tuve que los sectores de exploración en la parte no utilizada después de la MBR que es donde reside GRUB fase 1.5. Así que esta copia de seguridad de todo, excepto el contenido de las particiones. La copia de seguridad se escriben en un disquete junto con una secuencia de comandos para restaurarlos. Este script puede ser ejecutado después de arrancar el sistema de CD de Rescate. Mi intención era que este sería el primer paso de un metal desnudo restaurar. Pero resulta que yo no lo necesitan.

Bare Metal Restaurar
Esto es lo que pasaría si yo pierdo todo el disco duro. Este es el último en que yo pueda asegurar el arranque. Solía Acronis True Image para hacer una copia de seguridad completa de mi unidad. No apoya ni LVM Linux FreeBSD y Solaris rodajas. Pero que puede hacer un sector por sector de copia de seguridad de las particiones. Después de terminada la copia de seguridad, he sustituido mi unidad de disco duro y utilizado mi disco de arranque Seatools a cero a cabo (9 horas con un disco de 100 GB). Luego me arrancó de mi disco de arranque de Acronis y alimentados que la copia de seguridad de DVD's. Es mi recreado todo el sistema.

He utilizado una utilidad de Seagate para escribir ceros a todo el disco antes de empezar. Esto significa que el LVM Linux y FreeBSD / Solaris particiones probablemente había un montón de sectores a cero en el espacio no utilizado. Esto ayuda a la compresión en la rutina de Acronis, sector por sector de copia de seguridad de hacer un buen trabajo.

Todavía necesitamos un nivel de copia de seguridad de archivos para Linux / FreeBSD / Solaris. Voy a trabajar en eso.
  #4 (Enlace permanente)  
Old 10-22-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix demonio
  
 

Fecha: agosto 2001
Ubicación: Ashburn, Virginia,
Mensajes: 9.122
Aquí está el código fuente de las secuencias de comandos antes mencionados.

Código:
#! /bin/bash

#
#  mbrinstall --- install grub from this partition on to the MBR of the
#  current disk.  When the BIOS subsequently boots this disk, it will run
#  grub from this partition.

if [[ $(pwd) != */scripts  || $0 != ./* ]]  ; then
	echo error you must cd to the scripts directory and invoke this script with "./name"
	exit 1
fi
#
#  Extract device file name and mount point from the output of "df" command
set $(df -k . | awk  'NR == 2 { print $0}')
devicefile=$1
mountpoint=$6
name=${mountpoint#/}

#
#  Build grub style device name

devicefile=$(df -k . | awk  'NR == 2 { print $1}')
string=${devicefile#/dev/}
partition=${string#???}
drive=${string%$partition}
case "$drive" in
	hda) grubdrive="hd0" ;;
	hdb) grubdrive="hd1" ;;
	hdc) grubdrive="hd2" ;;
	hdd) grubdrive="hd3" ;;
	*)
		echo localinstall cannot handle device $drive
		exit 1
		;;
esac
((partition=partition-1))
grubdevice="(${grubdrive},${partition})"
echo devicefile=$devicefile
echo mountpoint=$mountpoint
echo name=$name
echo partition = $partition
echo drive = $drive
echo grubdrive = $grubdrive
echo grubdevice = $grubdevice

#
# rewrite grub.conf to reflect the local partition

cp ../grub/grub.conf ../grub/grub.conf.old
sed < ../grub/grub.conf.old > ../grub/grub.conf \
's/.*root (.*/	root '${grubdevice}'/
s/.*title Boot Octave from.*/	title Boot Octave from '${name}'/'

#  
#  Use grub to install itself on the drive

set -x
${mountpoint}/bin/grub --batch --verbose --device-map=${mountpoint}/grub/device.map << End
root  $grubdevice
setup  (${grubdrive})
End
set +x
exit 0
Código:
#! /bin/bash

#
#  localinstall --  install grub in the first sector of the current partition. 
#  This will make the current partition bootable.

dir=$(pwd)

if [[ $dir != */scripts  || $0 != ./* ]]  ; then
	echo error you must cd to the scripts directory and invoke this script with "./name"
	exit 1
fi
exit 0
#
#  Extract device file name and mount point from the output of "df" command
set $(df -k . | awk  'NR == 2 { print $0}')
devicefile=$1
mountpoint=$6
name=${mountpoint#/}

#
#  Build grub style device name

string=${devicefile#/dev/}
partition=${string#???}
drive=${string%$partition}
case "$drive" in
	hda) grubdrive="hd0" ;;
	hdb) grubdrive="hd1" ;;
	hdc) grubdrive="hd2" ;;
	hdd) grubdrive="hd3" ;;
	*)
		echo localinstall cannot handle device $drive
		exit 1
		;;
esac
((partition=partition-1))
grubdevice="(${grubdrive},${partition})"
echo devicefile=$devicefile
echo mountpoint=$mountpoint
echo name=$name
echo partition = $partition
echo drive = $drive
echo grubdrive = $grubdrive
echo grubdevice = $grubdevice


#
# rewrite grub.conf to reflect the local partition

cp ../grub/grub.conf ../grub/grub.conf.old
sed < ../grub/grub.conf.old > ../grub/grub.conf \
's/.*root (.*/	root '${grubdevice}'/
s/.*title Boot Octave from.*/	title Boot Octave from '${name}'/'

set -x


# 
#  We are going to write on the raw device so
#  make sure that the filesystem does not also
#  do any writing.

mount -o remount -o ro $mountpoint
sync

#  
#  Use grub to install itself on the device

${mountpoint}/bin/grub --batch --verbose --device-map=${mountpoint}/grub/device.map << End
root  $grubdevice
setup  $grubdevice
End

#
#  Now we need a new copy of bootsector to give to XP
[[ ! -d /driveE/bootsectors ]] && mkdir /driveE/bootsectors
dd if=${fulldevice} bs=512 count=1 of=/driveE/bootsectors/bootsector.$name

set +x

#
#  Restore read-write access to mountpoint
mount -o remount -o rw $mountpoint
exit 0
Código:
#! /bin/bash

#
#  floppyinstall -- install the grub software including the configuration file 
#  from this partition on to a floppy. This will create a bootable floppy that 
#  will boot the kernels from this partition.
#
if [[ $(pwd) != */scripts  || $0 != ./* ]]  ; then
	echo error you must cd to the scripts directory and invoke this script with "./name"
	exit 1
fi
#
#  Extract device file name and mount point from the output of "df" command
set $(df -k . | awk  'NR == 2 { print $0}')
devicefile=$1
mountpoint=$6
name=${mountpoint#/}

#
#  Build grub style device name

string=${devicefile#/dev/}
partition=${string#???}
drive=${string%$partition}
case "$drive" in
	hda) grubdrive="hd0" ;;
	hdb) grubdrive="hd1" ;;
	hdc) grubdrive="hd2" ;;
	hdd) grubdrive="hd3" ;;
	*)
		echo localinstall cannot handle device $drive
		exit 1
		;;
esac
((partition=partition-1))
grubdevice="(${grubdrive},${partition})"
echo devicefile=$devicefile
echo mountpoint=$mountpoint
echo name=$name
echo partition = $partition
echo drive = $drive
echo grubdrive = $grubdrive
echo grubdevice = $grubdevice

#
#  set up the floppy

set -x
mkdosfs -F 32 -c /dev/fd0
[[ ! -d /media/floppy ]]  && mkdir -p /media/floppy
mount -t vfat -o shortname=winnt /dev/fd0 /media/floppy

mkdir -p /media/floppy/boot/grub
cd /media/floppy/boot/grub
cp ${mountpoint}/grub/stage1 .
cp ${mountpoint}/grub/stage2 .
cd ${mountpoint}

#
# rewrite grub.conf to reflect the local partition

sed < ${mountpoint}/grub/grub.conf > /media/floppy/boot/grub/grub.conf \
's/.*root (.*/	root '${grubdevice}'/
s/.*title Boot Octave from.*/	title Boot Octave from '${name}' via floppy built '"$(date +'%B %e, %Y')"'/'

umount /dev/fd0

#  
#  Use grub to install itself on floppy

set -x
${mountpoint}/bin/grub --batch --verbose --device-map=${mountpoint}/grub/device.map << End
root  (fd0)
setup  (fd0)
End
exit 0
Código:
#! /bin/bash


#
#  cdinstall -- install the grub software including the configuration file 
#  from this partition on to a cd. This will create a bootable cd that 
#  can boot the kernels from the cd itself.
#
if [[ $(pwd) != */scripts  || $0 != ./* ]]  ; then
	echo error you must cd to the scripts directory and invoke this script with "./name"
	exit 1
fi
#
#  Extract device file name and mount point from the output of "df" command
set $(df -k . | awk  'NR == 2 { print $0}')
devicefile=$1
mountpoint=$6
name=${mountpoint#/}

#
#  Build grub style device name

string=${devicefile#/dev/}
partition=${string#???}
drive=${string%$partition}
case "$drive" in
	hda) grubdrive="hd0" ;;
	hdb) grubdrive="hd1" ;;
	hdc) grubdrive="hd2" ;;
	hdd) grubdrive="hd3" ;;
	*)
		echo localinstall cannot handle device $drive
		exit 1
		;;
esac
((partition=partition-1))
grubdevice="(${grubdrive},${partition})"
grubdevice="(cd)"
echo devicefile=$devicefile
echo mountpoint=$mountpoint
echo name=$name
echo partition = $partition
echo drive = $drive
echo grubdrive = $grubdrive
echo grubdevice = $grubdevice


set -x
mkdir /tmp/iso
mkdir /tmp/iso/backup
cp -R $mountpoint /tmp/iso/backup
mkdir -p /tmp/iso/boot/grub

cp /mastergrub/src/grub-0.97/stage2/stage2_eltorito /tmp/iso/boot/grub
#cp /mastergrub/grub/grub.conf /tmp/iso/boot/grub
# rewrite grub.conf to reflect the local partition

sed < ${mountpoint}/grub/grub.conf > /tmp/iso/boot/grub/menu.lst \
's/.*root (.*/	root '${grubdevice}'/
s/.*title Boot Octave from.*/	title Boot Octave from cd built '"$(date +'%B %e, %Y')"'/'
#cp /mastergrub/grub/grub.conf /tmp/iso/boot/grub/menu.lst
cp -R /mastergrub/Redhat /tmp/iso
cp -R /mastergrub/Fedora /tmp/iso
cp -R /mastergrub/SuSE /tmp/iso
cp -R /mastergrub/Debian /tmp/iso
cp -R /mastergrub/Scientific /tmp/iso
mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o /driveE/grub.iso /tmp/iso
exit 0
Código:
#! /bin/bash
#
#  supermbrbackup --  save disk infrastructure
#  This script backs up the partition structure on hd0.  It also scans the hidden sectors and backs up any
#  non-zero data.  In my case, this is grub stage 1.5.  And naturally, the boot code in the mbr is included.
#  Without this stuff, the disk won't be bootable.   The data is saved on a floppy disk.  Also a shell script
#  to restore the data is included on the floppy.  That script can be run from a bootable cd such as the
#  System Rescue CD.  So this is intended as the first step of a bare metal restore.
# 

#
#  We need some info about the disk (psuedo) geometry
SECT_NUM=63 #### Sectors per cylinder
SECT_LNG=512 ### Bytes per sector

#
#  This was originally a ksh script which was converted to bash.  The original ksh code is still here,
#  prefixed with "##".  
##integer bytes
##set -A bytes abytes
declare -a bytes abytes
typeset -i bytes

#
#  Build a filesystem on the floppy

mkfs -t ext2 -b 1024 -i 1024 -O sparse_super /dev/fd0 2>/dev/null
mkdir -p /media/fd0
mount -t ext2 /dev/fd0 /media/fd0

#
#  The variable called "restore" will contain the entire restore script.  The script will be written out
#  once it is complete.  I wanted to prevent excess i/o on the floppy drive and I expect the script to 
#  be short... so I decided to build it in-core.

total_saved=0
restore="#! /bin/bash"

#
#  Read a specified sector and set up the arrays abytes and bytes with the contents of each byte

function read_sector 
{
	skip=$1
	## dd if=/dev/hda bs=$SECT_LNG skip=$skip count=1 2>/dev/null| od -An -t x1  -w32 -v
	abytes=( $(dd if=/dev/hda bs=$SECT_LNG skip=$skip count=1 2>/dev/null| od -An -t x1  -w32 -v ))
	for((ibyte=0; ibyte < ${#abytes[*]}; ibyte++)) ; do
		bytes[ibyte]="16#${abytes[ibyte]}"
	done
	return 0
}

#
#  Write the sector onto the floppy disk (also update the restore script)

function save_sector
{
	((total_saved++))
	dd if=/dev/hda bs=$SECT_LNG skip=$1 count=1 2>/dev/null of=/media/fd0/sec${1}
	restore="$restore
	dd if=sec${1} bs=$SECT_LNG seek=$1 count=1 of=/dev/hda"
	return 0
}

#
#  Nothing to check.... sector zero is always saved.

echo sector 0 is the MBR
save_sector 0

#
#  Now scan the hidden sectors.  Back them up only if the sectors contains some non-zero data

for((sec=1; sec < $SECT_NUM; sec++)) ; do
	read_sector $sec
	nonzero=0
	for((ibyte=0; ibyte < ${#bytes[*]}; ibyte++)) ; do
		((${bytes[ibyte]})) && nonzero=1
	done
	if ((nonzero)) ; then
		echo sector $sec has non-zero data
		save_sector $sec
	fi
done

##typeset -R2 partition
##typeset -i bytes
##typeset -R11 next
read_sector 0
exstart=0

#
#  Scan the partition table looking for an extended partition.

for ((partition=1; partition < 5; partition++))  ; do
	((s=430 + (partition * 16)))
	status=${abytes[s]}
	type=${abytes[s+4]}
	(( fval=(( (${bytes[s+11]}*256+${bytes[s+10]})*256 + ${bytes[s+9]})*256)+${bytes[s+8]} ))
	(( length=(((${bytes[s+15]}*256+${bytes[s+14]})*256+${bytes[s+13]})*256)+${bytes[s+12]} ))
	((lval=fval+length-1))
	((lval == -1)) && ((lval=0))
	if [[ $type = 0f ]] ; then
		exstart=$fval
	fi
done

#
#  If we found an extended partition, step though the logical's and back up each MBR of each logical
#  drive.
if ((exstart)) ; then
	next=$exstart
	while ((next)) ; do
		read_sector $next
		((s=430 + (1 * 16)))
		type=${abytes[s+4]}
		(( fval=(( (${bytes[s+11]}*256+${bytes[s+10]})*256 + ${bytes[s+9]})*256)+${bytes[s+8]} ))
		(( length=(((${bytes[s+15]}*256+${bytes[s+14]})*256+${bytes[s+13]})*256)+${bytes[s+12]} ))
		((lval=fval+length-1))
		((lval == -1)) && ((lval=0))
		((pstart=fval + next))
		((pstop=lval + next))
		((s=430 + (2 * 16)))
		type=${abytes[s+4]}
		(( fval=(( (${bytes[s+11]}*256+${bytes[s+10]})*256 + ${bytes[s+9]})*256)+${bytes[s+8]} ))
		(( length=(((${bytes[s+15]}*256+${bytes[s+14]})*256+${bytes[s+13]})*256)+${bytes[s+12]} ))
		((lval=fval+length-1))
		((lval == -1)) && ((lval=0))
		if ((length)) ; then
			((nextnext=fval+exstart))
		else
			((nextnext=0))
		fi
		echo "sector $next describes logical partition $partition ($pstart - $pstop)"
		save_sector $next
		((partition=partition+1))
		((next=nextnext))
	done
fi

#
#  Write out the restore script and finish up

echo "$restore" > /media/fd0/restore
chmod 755 /media/fd0/restore
umount /dev/fd0
exit 0
 

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 02:01 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0