首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Windows系统迁移

当我们为电脑更换硬盘时(比如更换大一点的硬盘或将 HDD 更换为 SSD),往往需要考虑原硬盘上的系统和数据怎么办。重装系统是一个选择,但重装系统后还要重装系统上的软件,还要迁移数据,费时又费力。另一个方法是迁移系统,这样既不用重装系统也不用重装软件,且系统上的数据还全部保存了下来。然而 Windows 系统自身并没有提供系统迁移的工具,不像 Linux 提供了 dd 命令可以用来直接镜像整个分区从而实现系统迁移。更为遗憾的是,就算手头有 Linux 系统,直接使用 dd 对 Windows 系统进行拷贝,迁移后的 Windows 只会是蓝屏/黑屏,因为迁移系统不仅仅是拷贝分区就够了,对应的分区信息也要修改的。虽然 Linux 也是这样,但 Linux 可以通过手动引导进入系统,然后再更新引导信息,而 Windows 一旦蓝屏/黑屏就令人束手无策了,Windows Live CD 提供的引导修复功能也不尽人意。

03
您找到你想要的搜索结果了吗?
是的
没有找到

Linux内存机制以及手动释放swap和内存

我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。 物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(Swap Space)。 作为物理内存的扩展,linux会在物理内存不足时,使用交换分区的虚拟内存,更详细的说,就是内核会将暂时不用的内存块信息写到交换空间,这样以来,物理内存得到了释放,这块内存就可以用于其它目的,当需要用到原始的内容时,这些信息会被重新从交换空间读入物理内存。 Linux的内存管理采取的是分页存取机制,为了保证物理内存能得到充分的利用,内核会在适当的时候将物理内存中不经常使用的数据块自动交换到虚拟内存中,而将经常使用的信息保留到物理内存。

04

Centos7系统备份与恢复

Centos系统备份与恢复教程 tar:   特点   1、保留权限   2、适合备份整个目录   3、可以选择不同的压缩方式   4、如果选择不压缩还能实现增量备份,部份还原,参考man tar dd   特点   1、对块进行操作,能备份整个硬盘(包括分区表、MBR,其他Linux不能很好支持的文件系统)   2、可以进行压缩(麻烦一点)   3、由于是备份整个硬盘,文件系统上没有使用的“空白”空间也会被保存起来,备份文件比较大   备份   备份硬盘sda,放到/backup(/backup挂载在其他硬盘如sdb) tar方法教程 Linux不像windows,它不限制根用户存取任何东西,因此,你完全可以把一个分区上每一个的文件放入一个TAR文件中。 使用root用户切换到根目录 然后,使用下面的命令备份完整的系统: tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys 或者 tar cvpzf /state/partition1/home/backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys 说明: tar 部分就是我们将要使用的软件。 'cvpfz'是我们给tar加的选项,像“创建一个压缩文档”(这是显然的),“保存权限”(以便使每一个相同的文件有相同的权限),以及“gzip”(缩减大小)。接下来,是压缩文档将获得的名称,在我们的例子中是backup.tgz。 紧随其后的是我们想要备份的根目录。既然我们想备份所有东西:/。接着就是我们要剔除的目录了:我们不想备份每一样东西,因为包括有些目录不是非常有用。同时确保你没有把备份文件本身也加进去了,否则,你会得到怪异的结 果的。你也许同样不打算把/mnt文件夹包括进来——如果你在那儿挂载了其他分区——否则最终你会把那些也备份的。同时确保你没有任何东西挂载在 /media(即没有挂载任何cd或可移动介质)。否则,剔除/media。 在进程的最后,你也许会得到一条信息,写着“tar:由于先前错误的耽搁而存在错误”或者其他什么,不过大多数情况下你可以仅仅忽略它。 作为选择,你可以使用Bzip来压缩你的备份。这意味着较高的压缩比但是也意味着较低的速度。如果压缩比对你很重要,只需用“j”替换命令中的“z”,同时给备份命一个相应的扩展名。这些会使命令变成这样: tar cvpjf backup.tar.bz2 / --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys 恢复: 如果系统被毁坏,那么我们就可以用备份好的tar包进行恢复。 在分区的根目录下的backup.tgz文件 再一次确保你是根用户以及备份文件在文件系统的根目录。 Linux美妙的地方之一就是这一项工作甚至可以在一个正在运行的系统上进行;没必要被引导cd或者任何东西搞得晕头转向。当然,如果你使你的系统 无法被引导了。你也许别无选择,只能使用一张live-cd了,但是结果是一样的。你甚至可以在Linux系统正在运行的时候,移除它里面所有文件。可是 我不告诉你那个命令! 这是我要用的命令: tar xvpfz backup.tgz -C / 如果你使用 bz2: tar xvpfj backup.tar.bz2 -C / 警告:这会把你分区里所有文件替换成压缩文档里的文件! 确保在你做其他任何事情之前,重新创建你剔除的目录: mkdir proc mkdir lost+found mkdir mnt mkdir sys /proc 权限:文件所有者:root群组:root 所有者:读取 执行 群组:读取 执行 其它:读取 执行 /lost+found 权限:文件所有者:root群组:root 所有者:读取 写入 执行 群组:读取 执行 其它:读取 执行 /mnt 权限:文件所有者:root群组:root 所有者:读取 写入 执行 群组:读取 执行 其它:读取 执行 /sys 权限:文件所有者:root群组:root 所有者:读取 写入 执行 群组:读取 执行 其它:读取 执行 当你重启以后,所以的事情都会和你备份的时候一模一样。 用户参照了上面的教程做的备份和恢复,普遍反映:重启电脑后还是会一直提示用户名和密码 输入以后一闪还是提示用户名

03

Linux磁盘满问题分析

线上一台Linux服务器最近经常磁盘根分区满告警, 但不是普通的日志文件或数据文件过多过大,现象如下: 1)执行“df -h”查看各分区空间的使用情况 [root@XEN64 /]# df -h Filesystem      Size  Used Avail Use% Mounted on /dev/sda1       9.8G  8.7G  535M  95% / devtmpfs        7.7G     0  7.7G   0% /dev tmpfs           7.7G     0  7.7G   0% /dev/shm tmpfs           7.7G  666M  7.1G   9% /run tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup /dev/sda3        20G  3.3G   16G  18% /usr/local 可以看到根分区使用率超过了预警值, 进入根目录,查看根目录下各子目录的大小: [root@XEN64 /]# du -sm * 0       bin 180     boot 0       dev 24      etc 3       home 0       lib 0       lib64 1       lost+found 1       media 1       mnt 32      opt du: cannot access 'proc/17842/task/17842/fd/4': No such file or directory du: cannot access 'proc/17842/task/17842/fdinfo/4': No such file or directory du: cannot access 'proc/17842/fd/4': No such file or directory du: cannot access 'proc/17842/fdinfo/4': No such file or directory 0       proc 2       root 666     run 0       sbin 1       srv 0       sys 96      tmp 5856    usr 221     var 进一步检查/usr目录: [root@XEN64 /usr]# du -sm * 358     1.2-compat 164     bin 1       etc 1       games 33      include 912     lib 432     lib64 101     libexec 3269    local 1       man 46      sbin 547     share 1       src 0       tmp 对比du和df的结果,可以发现两者的已使用大小不一致, du命令得到的已用大小远小于df命令已用大小,初步猜测存已被删除文件仍然有进程在写它,导致du命令发现不了。 如果允许,最简单的处理方式是重启机器,不然用下列命令找出被删除的,但仍然可能有进程在写它的文件: pids=`ps aux|awk '{print $2}'`;for pid in $pids; do lsof -p $pid|grep del; done 见到庐山真面目: [root@XEN64 /proc]# pids=`ps aux|awk '{print $2}'`;for pid in $pids; do lsof -p $pid|grep del; done stati 28885 root    1w      REG        8,1 5969132048     409096 /tmp/process_monitor-root.log (deleted) stati 28885 root    2w      REG        8,1 5969132048     409096 /tmp/process_monitor-root.log (deleted) stati 28885 root    3u      REG        8,4   20480039   35651587 /data/consumer/log/consumer.log.5 (deleted) consumer 29756 root    1w   REG        8,1 5969132048     409

03
领券