-------------------------------------------------------------------------------
If your disk is an IDE or EIDE drive, you should read the file
/usr/src/linux/drivers/block/README.ide
(part of the Linux
kernel source code). This README contains many helpful hints about
IDE drives. Many modern IDE controllers do translation between
`physical' cylinders/heads/sectors and `logical' ones.
SCSI disks are accessed by linear block numbers. The BIOS invents some `logical' cylinder/head/sector fiction to support DOS.
DOS will usually not be able to access partitions which extend beyond 1024 logical cylinders, and will make booting a Linux kernel from such partitions using LILO problematic at best.
You can still use such partitions for Linux or other operating systems that access the controller directly.
It's recommend that you create at least one Linux partition entirely under the 1024-logical-cylinder limit, and boot from that. The other partitions will then be okay.
-------------------------------------------------------------------------------
In general, this is very hard to do on Unices because of their multitasking nature. Undelete functionality for the ext2fs is being worked on, but don't hold your breath.
There are a number of packages available which instead provide new commands for deleting and copying which move deleted files into a `wastebasket' directory. The files can be recovered until cleaned out automatically by background processing.
Alternatively, you can search the raw disk device which holds the filesystem in question. This is hard work, and you will need to be root to do this.
-------------------------------------------------------------------------------
Yes. There is defrag
, a Linux filesystem defragmenter for
ext2, minix and old-style ext filesystems. It is available at
sunsite.unc.edu/pub/Linux/system/filesystems/defrag-0.70.tar.gz.
Users of the ext2 filesystem can probably do without defrag
,
because ext2 contains extra code to keep fragmentation reduced even in
very full filesystems.
-------------------------------------------------------------------------------
To format a 3.5-inch, high density floppy:
$ fdformat /dev/fd0H1440 $ mkfs -t ext2 -m 0 /dev/fd0H1440 1440For a 5.25 inch floppy, use
fd0h1200
and 1200
as
appropriate. For the `B' drive use fd1
instead of
fd0
.
The -m 0
option tells mkfs.ext2
not to reserve any
space on the disk for the superuser -- usually the last 10% is
reserved for root.
The first command performs a low-level format. The second creates an
empty filesystem. You can mount the floppy like a hard disk partition
and simply cp
and mv
files, etc.
Device naming conventions generally are the same as for other Unices.
They can be found in Matt Welsh's Installation and Getting Started
Guide. (See (``
Where can I get the HOWTOs and other documentation?'') A more detailed and technical description is
Linux Allocated Devices by H. Peter Anvin, <
hpa@zytor.com>, which is
included in LaTeX and ASCII form in the kernel source distribution
(probably in /usr/src/kernel/Documentation
), as
devices.tex
and devices.txt
.
-------------------------------------------------------------------------------
You probably have a corrupted filesystem, probably caused by not shutting Linux down properly before turning off the power or resetting. You need to use a recent shutdown program to do this -- for example, the one included in the util-linux package, available on sunsite and tsx-11.
If you're lucky the program fsck (or e2fsck or xfsck as appropriate if you don't have the automatic fsck front-end) will be able to repair your filesystem; if you're unlucky the filesystem is trashed and you'll have to reinitialise it with mkfs (or mke2fs, mkxfs, etc.) and restore from a backup.
NB: don't try to check a filesystem that's mounted read-write - this includes the root partition if you don't see
VFS: mounted root ... read-onlyat boot time.
-------------------------------------------------------------------------------
When you boot (or enable swapping manually) you should see
Adding Swap: NNNNk swap-spaceIf you don't see any messages at all you are probably missing swapon -av (the command to enable swapping) in your
/etc/rc.local
or
/etc/rc.d/*
(the system startup scripts), or have forgotten to
make the right entry in /etc/fstab
:
/dev/hda2 none swap swfor example.
If you see
Unable to find swap-space signatureyou have forgotten to run
mkswap
. See the manpage for
details; it works much like mkfs
.
Check the Installation HOWTO for detailed instructions of how to set up a swap area.
-------------------------------------------------------------------------------
Using DOS (MS-DOS 5.0 or later, or OS/2), type FDISK /MBR
(which is not documented). This will restore a standard MS-DOS Master
Boot Record. If you have DR-DOS 6.0, go into FDISK in the normal way
and then select the `Re-write Master Boot Record' option.
If you don't have DOS 5 or DR-DOS you need to have the boot sector that
LILO saved when you first installed it. You did keep that file, didn't
you ? It's probably called boot.0301
or some such. Type
dd if=boot.0301 of=/dev/hda bs=445 count=1(or
sda
if you're using a SCSI disk). This may also wipe out your
partition table, so beware! If you're desperate, you could use
dd if=/dev/zero of=/dev/hda bs=512 count=1This will erase your partition table and boot sector completely: you can then reformat the disk using your favorite software. But this will render the contents of your disk inaccessible -- you'll lose it all unless you're an expert.
Note that the DOS MBR boots whichever (single!) partition is flagged
as `active'. You may need to use fdisk
to set and clear the
active flags on partitions appropriately.
-------------------------------------------------------------------------------
The system call to format a floppy may only be done as root,
regardless of the permissions of /dev/fd0*
. If you want any
user to be able to format a floppy, try getting the fdformat2
program. This works around the problems by being setuid to root.
-------------------------------------------------------------------------------
Currently none of the Linux filesystems can do compression in the filesystem.
There is a program called Zlibc which allows existing applications to
read compressed (GNU zipped) files as if they were not compressed.
After installing it, you can compress files using gzip
, and
programs will still find them, without having to change the programs.
Look on sunsite.unc.edu in /pub/Linux/libs. The author is <
Alain.Knaff@imag.fr>.
There is a compressing block device driver that can provide filesystem-independent, on-the-fly disk compression in the kernel. It is called `DouBle'. There is a source-only distribution on sunsite.unc.edu in /pub/Linux/kernel/patches/diskdrives; the author is Jean-Marc Verbavatz < jmv@receptor.mgh.harvard.edu>. Note that since this compresses inodes (administrative information) and directories as well as file contents any corruption is quite likely to be serious.
There is also a package available called tcx (Transparently Compressed Executables) which allows you to keep infrequently used executables compressed and only uncompress them temporarily while you use them. You'll find it at sunsite.unc.edu/pub/Linux/utils/compress
Note: this is not the same as gzexe
, which is an inferior
implementation of the same concept.
-------------------------------------------------------------------------------
See `` EXT2-fs: warning: mounting unchecked filesystem.''.
-------------------------------------------------------------------------------
Remount it. If /etc/fstab
is correct, you can simply
mount -n -o remount /
. If /etc/fstab
is wrong you
must give the device name and posibly the type too: e.g. mount -n
-o remount -t ext2 /dev/hda2 /
. To understand how you got into
this state, see ``
EXT2-fs: warning: mounting unchecked filesystem.''
-------------------------------------------------------------------------------
None of the files in /proc are really there - they're all "pretend" files made up by the kernel, to give you information about the system, and don't take up any hard disk space.
/proc/kcore is like an "alias" for the memory in your computer; its size is the same as the amount of RAM you have, and if you ask to read it as a file the kernel does memory reads.
-------------------------------------------------------------------------------
The option to allow disks with more than 1024 cylinders is only required as a workaround for a DOS misfeature and should be turned *off* under Linux. For older Linux kernels you need to turn off most of the "advanced BIOS" options -- all but the one about scanning the bus for bootable devices.
===============================================================================