Сегодня запорол linux:
dd if=q.hdd of=/dev/sda bs=1M
^c
Ошибся с «a», хотел «b» , недоспал, хоть ^c быстро нажал )
Ладно, с кем не бывает, восстанавливаем /dev/sda1, он же /
1. Не ребутимся , восстанавливаем partitions из текущего ядра
df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 103216948 5319200 92654536 6% /
none 1473104 704 1472400 1% /dev
none 1479712 1792 1477920 1% /dev/shm
none 1479712 396 1479316 1% /var/run
none 1479712 0 1479712 0% /var/lock
/dev/sda4 384102412 142723212 221867856 40% /home
/dev/sda3 103216948 18088988 79884748 19% /media/c7a36769-c60d-46b6-89f2-f584af11c36a
Компилируем:
<code>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/hdreg.h>
int main(int ac,char *av[])
{
char *dev = av[1];
if(!dev) printf(«usage: hget dev ...\n»),exit(1);
for(int i=1;i<ac;i++)
{
dev=av[i];
struct hd_geometry g;
int fd = open(dev,O_RDONLY);
if(fd==-1) perror(dev),exit(1);
if(ioctl(fd,HDIO_GETGEO, &g)==-1) perror(dev),close(fd),exit(1);
uint u = g.heads * g.sectors;
printf(«%s: heads=%d sectors=%d cylinders=%d start=%lu start/%d+1=%f\n»,dev,g.heads,g.sectors,g.cylinders,g.start,u,1.+(u?(1.0*g.start)/u:0.));
close(fd);
}
return 0;
}
</code>
cat at /proc/partitions
hget /dev/sda*
/dev/sda: heads=255 sectors=63 cylinders=65535 start=0 start/16065+1=1.000000
/dev/sda1: heads=255 sectors=63 cylinders=65535 start=16065 start/16065+1=2.000000
/dev/sda2: heads=255 sectors=63 cylinders=65535 start=209744640 start/16065+1=13057.000000
/dev/sda3: heads=255 sectors=63 cylinders=65535 start=260076285 start/16065+1=16190.000000
/dev/sda4: heads=255 sectors=63 cylinders=65535 start=469804860 start/16065+1=29245.000000
fdisk /dev/sda
Смотрим на последнюю цифирь этой програмки и пишем цилиндры
Надо на будущее гдето хранить «fdisk -l /dev/sda»:
/dev/sda1 2 13056 104864287+ 83 Linux
/dev/sda2 13057 16189 25165822+ 82 Linux swap / Solaris
/dev/sda3 16190 29244 104864287+ 83 Linux
/dev/sda4 29245 77825 390226882+ 83 Linux
сat /proc/partitions и сличаем
8 0 625131864 sda
8 1 104864287 sda1
8 2 25165822 sda2
8 3 104864287 sda3
8 4 390226882 sda4
Если нецелое то думаем )
/dev/sda1: heads=255 sectors=63 cylinders=14593 start=63 start/16065+1=1.003922
gpart не дождался ...
2. cd /home/save
cp -a /etc etc
dpkg -l |print2 >pkg.list
cp -a /var/cache/apt-cacher/ apt-cacher
find / -mount |sort >ROOT.LIST
3. update-grub; grub-install /dev/sda; reboot
and restore root ...
4. сравниваем ROOT.LIST
Похожие темы
- Форум Как скопировать образ системы через tftp сервер (2015)
- Форум notice от fdisk -l (2011)
- Форум Аналог fdisk (2004)
- Форум Нет понимания с разбиением диска. fdisk и cfdisk выводят разные данные. (2011)
- Форум как синхронизировать mdraid (2010)
- Форум Посоветуйте как восстановить raid 1 (2012)
- Форум RAID5. What's a problem?? (2008)
- Форум Установщик не видит разделов. (2012)
- Форум STBV4000200 + deb6 не работает (2014)
- Форум SLES 10SP2 x64, сломалась загрузка (есть только сообщение «GRUB») (2015)